Как загрузить файл blob из Chrome iOS в Javascript?

Как загрузить файл blob из Chrome iOS в Javascript ?

Я работаю над загрузкой файлов (pdf, excel, txt, png) из iOS. iOS не имеет файловых систем,что является проблемой для загрузки. Я создаю код, который загружает файл blob в зависимости от ОС и навигатора, если это необходимо. Он отлично работает на настольных компьютерах (последние версии Chrome и IE), мобильных Android (Chrome, native navigator) и iOS iPad2 (Safari).

Теперь Chrome iOS должен быть похож на Safari мобильный, но алгоритм не работает, Chrome iOs загрузите файл, открыв новую вкладку, но страница пуста.

Я создаю свой собственный blob для создания downloadUrl.

Это часть функции скачать .

    var URL = window.URL || window.webkitURL;
    var downloadUrl = URL.createObjectURL(iobBLOB);
    var newWindow = null;   

    if (typeof a.download === 'undefined') {
            var newWindow = null;
            newWindow = window.open(downloadUrl, '_blank');
            setTimeout(function() {
                newWindow.document.title = isbFilename;
            }, 10);
    }

более подробная информация

отладка на iPad 2 и iPhone 4

попытка загрузить файлы excell, pdf, txt и Png.

устройства не имеют файла система.

Спасибо за помощь... Скажите мне, если вам нужна дополнительная информация, это мой первый вопрос.

1 ответов


после поиска это решение, похоже, отлично работает на ChromeiOS и Safari. Я нашел его на этом посту "Как открыть Blob URL на Chrome iOS". Это решило мою проблему:

 var reader = new FileReader();
    reader.onload = function(e) {
       var bdata = btoa(reader.result);
       var datauri = 'data:' + isbContentType + ';base64,' + bdata;
       window.open(datauri);
       newWindow = setTimeout(function() {
           newWindow.document.title = isbFilename;
       }, 10);
    };
    reader.readAsBinaryString(iobBLOB);

Я считал, что есть способ загрузить файл blob, но это не так. Все равно спасибо