2015-08-20 6 views
2

Как я могу отобразить Blob с pdf-содержимым сразу же новую вкладку или отобразить ее в строке с помощью iframe?Как открыть объект blob в новом окне

в хроме и FF я могу использовать что-то вроде этого

var url = URL.createObjectURL(blob); 
$('#uplFrame').attr('src', url); 

, но не работает в IE ... я прочитал в Интернете, что IE использует следующий за handeling сгустков

window.navigator.msSaveOrOpenBlob(blob, "filename"); 

однако это спросит пользователя, хочет ли он сохранить или открыть файл в новом окне. можно ли позволить коду открывать blob это автоматически?

или есть аналогичное решение для «createObjectURL», которое работает для IE?

+0

Я думаю, что вы должны были бы создать темп файл на сервере, чтобы открыть его в новом окне или вкладке с помощью браузера. Чтобы обслуживать новый документ, вашему серверу нужен файл на сервер, но если вы можете временно кэшировать его на своем сервере, вы можете открыть PDF прямо в браузере без проблем. – DrewT

ответ

0

В целях безопасности и осуществления операция не разрешена в IE, так что команда построить конкретный API для спрашивающих разрешений:

// Save the blob1 content to a file, giving just a "Save" option 
    window.navigator.msSaveBlob(blob1, 'msSaveBlob_testFile.txt'); 

    // Save the blob2 content to a file, giving both "Save" *and* "Open" options 
    window.navigator.msSaveOrOpenBlob(blob2, 'msSaveBlobOrOpenBlob_testFile.txt'); 

Ref: https://msdn.microsoft.com/library/hh673542(v=vs.85).aspx

Смежные вопросы