Откройте URL -адрес Blob в новом окне в браузерах iPhone и iPad SafariIOS

Программируем под IOS
Ответить
Anonymous
 Откройте URL -адрес Blob в новом окне в браузерах iPhone и iPad Safari

Сообщение Anonymous »

Я пытаюсь генерировать файл PDF на основе ответа, возвращаемого с сервера, и открыть файл в новой вкладке. Он очень хорошо работает на рабочем столе во всех браузерах, но имеет проблемы на устройствах Apple (iPhone + iPad) в браузере Safari.if (responseType = base64 encoded string like JVBERi0xLjUKJeLjz9MKMSAwI....) {
const binaryString = window.atob(fileResponseData);
const bytes = new Uint8Array(binaryString.length);
const binaryToBlob = bytes.map((byte, i) => binaryString.charCodeAt(i));
const blob = new Blob([binaryToBlob], { type: 'application/pdf' });
this.downloadFile(blob, fileName);
} else {
// blob response like %PDF-1.7 %âãÏÓ5 0 obj....
const blob = new Blob([fileResponseData], { type: 'application/pdf' });
this.downloadFile(blob, fileName);
}
< /code>
вот как я загружаю файл < /p>
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, fileName);
return;
}

const url = (window.URL || window.webkitURL).createObjectURL(blob);
window.open(url, '_blank');
< /code>
Я знаю, что есть связанные статьи по этой теме, но они не решили мою проблему. На самом деле, я придумал приведенный выше код, ссылаясь на эти статьи, но я все еще сталкиваюсь с проблемами на устройствах Apple. Как только я нажимаю кнопку, чтобы сгенерировать файл и отобразить на новой вкладке, на устройствах Apple ничего не происходит, но другие устройства работают просто отлично.


Подробнее здесь: https://stackoverflow.com/questions/662 ... i-browsers
Ответить

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

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

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

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

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