Как я могу сделать это своим приложением Как я могу сделать так, чтобы мое приложение React могло загружать или просматрIOS

Программируем под IOS
Ответить
Anonymous
 Как я могу сделать это своим приложением Как я могу сделать так, чтобы мое приложение React могло загружать или просматр

Сообщение Anonymous »

Я пытаюсь загрузить PDF-файл, отправив запрос GET к API. В настоящее время он работает на всех платформах, но когда я пробую его на iPhone, у меня не получается.
const downloadCertificate = async () => {
const getUrl = `${urlBase}/pdf/v1/${certificate}`;

axios({
method: "get",
url: getUrl,
responseType: "blob",
headers: { orgid: orgid, Authorization: `Bearer ${token}` },
})
.then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "certificado.pdf");
document.body.appendChild(link);
link.click();

window.URL.revokeObjectURL(url);
document.body.removeChild(link);
})
.catch((error) => console.log(error));
};

Я пробовал использовать этот код, но он работает не так, как ожидалось:
const downloadCertificate = async () => {
const getUrl = `${urlBase}/pdf/v1/${certificate}`;

axios({
method: "get",
url: getUrl,
responseType: "blob",
headers: { orgid: orgid, Authorization: `Bearer ${token}` },
})
.then((response) => {
if (navigator.userAgent.match(/(iPad|iPhone|iPod)/i)) {
const reader = new FileReader();
reader.onloadend = () => {
const url = reader.result;
window.open(url, "_blank");
};
reader.readAsDataURL(response.data);
} else {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "certificado.pdf");
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(url);
document.body.removeChild(link);
}
})
.catch((error) => console.log(error));
};


Подробнее здесь: https://stackoverflow.com/questions/783 ... d-a-pdf-or
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»