Я пытаюсь загрузить и показать содержимое удаленного файла внутри iFrame и преуспеть во всех браузерах, кроме IE (я пытаюсь с IE 10). Я использовал API XMLHttpRequest, Blob, CreateOBjectUrl для завершения процесса.Ошибка IE + XMLHttp + CreateObjectURL
В IE я не могу просмотреть содержимое файла внутри iFrame, а также никаких сообщений об ошибках, появившихся на консоли.
я вставил свой код в нижней части этого потока, и шаг за шагом объяснение, как показано ниже
- Получение загрузки URL документа & соответствующий MIME типа (прекрасно во всех broswers).
- Вызов XMLHttp просьба, HTTP GET Асинхронный вызов, как тип реакции, как «ArrayBuffer» (идеально штрафа во всех браузерах) После завершения XMLHttpGet ниже 3 шагов выполнения.
- Создание blob с использованием правильного типа mimetype (отлично отлично во всех других браузерах, специально проверяется blob, загружая его в IE с использованием метода MSSaveOrOpenBlob). 4.InOrder для связывания содержимого blob с iFrame, создайте URL-адрес blob с помощью «createObjectURL» (отлично отлично во всех браузерах, но в IE мы не получаем идеальный URL-адрес).
- И наконец, привязка URL-адреса с помощью iFrame для отображения.
Фрагмент кода ниже.
// Getting the document url and mime type (Which is perfectly fine)
var downloadUrl=finalServerURL + "DocumentService.svc/GetItemBinary?id=" + itemId + "&version=" + version;
var mimeTypeForDownload = responseStore.mimeTypes[currentlySelectedObject.fileExtension];
window.URL = window.URL || window.webkitURL;
//Defining the XML Http Process
var xhr = new XMLHttpRequest();
xhr.open('GET', downloadUrl, true);
xhr.responseType = 'arraybuffer'; //Reading as array buffer .
xhr.onload = function (e) {
var mimeType = mimeTypeForDownload;
var blob = new Blob([xhr.response], { type: mimeType });
// Perfect blob, we are able to download it in both IE and non-IE browsers
//This below url from createObjectURL,
//Working perfectly fine in all non-IE browsers, but nothing happening in IE
var url = window.URL.createObjectURL(blob);
document.getElementById(documentContentiFrameId).setAttribute("src", url);
};
xhr.send;
Сообщите мне, если у вас есть информация по этому вопросу, было бы очень полезно.