IE 10/11:API响应的图像预览

时间:2017-09-05 09:23:55

标签: reactjs internet-explorer blob

我可以看到API响应中返回的图像,但无法将其设置为IE 10/11页面中img元素的src。 在Chrome中,此ReactJS代码可以正常运行:

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 个答案:

答案 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>
    }
  });