2017-09-05 40 views
0

我可以看到API響應中返回的圖像,但無法將其設置爲IE 10/11中的頁面中img元素的src。 在Chrome中,此ReactJS代碼工作正常:IE 10/11:來自API響應的圖像預覽

return fetch(url, sInit) 
     .then(response => response.blob()) 
     .then((blobResponse) => { 
     let fileUrl = (window.URL || window.webkitURL).createObjectURL(blobResponse); 
     // setting fileUrl as src for <img> 
     }); 

這fileUrl然後被設定爲一個img元素的src屬性。

但我需要爲IE 10/11的解決方案,以便可以在指定的位置預覽圖像。

說明:window.navigator.msSaveOrOpenBlob的解決方法不是我所需要的。

+1

您使用的填充工具爲'取()'在IE10/11? (因爲'fetch()'[不支持IE10/11](https://caniuse.com/#search=fetch))。 – K3N

+0

是的,這是正確的。 –

回答

0

我能在這下面的方法來實現:

return fetch(url, sInit) 
    .then(response => response.blob()) 
    .then((blobResponse) => { 
    if (window.navigator.msSaveOrOpenBlob) { // Checking if IE 
     let reader = new FileReader(); 
     let dataURL = ''; 
     reader.onload = function readerFile(e) { 
     dataURL = reader.result; 
     // setting dataURL as src for <img> 
     }; 
     reader.readAsDataURL(blobResponse); 
    } else { 
     let fileUrl = (window.URL || window.webkitURL).createObjectURL(blobResponse); 
     // setting fileUrl as src for <img> 
    } 
    });