Javascript 将图像更改为Blob在IE11中不起作用

Javascript 将图像更改为Blob在IE11中不起作用,javascript,reactjs,Javascript,Reactjs,使用下面的代码将图像更改为blob changeImageIntoBlob=getImageResponse=>{ var urlCreator=window.URL | | window.webkitURL; var binaryData=[]; push(getImageResponse); var image=urlCreator.createObjectURL( 新Blob(二进制数据,{type:“jpeg/png”}) ); 这是我的国家({ 形象 }); }; 在上面的代码中,g

使用下面的代码将图像更改为blob

changeImageIntoBlob=getImageResponse=>{
var urlCreator=window.URL | | window.webkitURL;
var binaryData=[];
push(getImageResponse);
var image=urlCreator.createObjectURL(
新Blob(二进制数据,{type:“jpeg/png”})
);
这是我的国家({
形象
});
};
在上面的代码中,getImageResponse参数应该是这样的

Blob {size: 144425, type: "image/jpeg"}
data:image/jpeg;base64,R0lGODlhEAAQAMQAAORHHOV....
它在chrome、firefox和EDGE中运行良好,但这一个现在在IE11中运行,IE中出现的错误是
InvalidStateError
,并且在下面的图片中添加了错误供您参考


请帮我弄清楚。

您可以尝试使用此功能。我不确定您的
getImageResponse
的格式是什么。如果它是一个dataURI,类似这样的

Blob {size: 144425, type: "image/jpeg"}
data:image/jpeg;base64,R0lGODlhEAAQAMQAAORHHOV....
那你可以试试这个

dataURItoBlob(dataURI) {
      var byteString = atob(dataURI.split(",")[1]);
      var ab = new ArrayBuffer(byteString.length);
      var ia = new Uint8Array(ab);
      for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
      }
      return new Blob([ab], { type: "image/jpeg" }); // change the type here into the type you want
    },
dataURItoBlob(dataURI){
var byteString=atob(dataURI.split(“,”[1]);
var ab=新阵列缓冲区(byteString.length);
var ia=新的UINT8阵列(ab);
for(var i=0;i
您可以尝试使用此功能。我不确定您的
getImageResponse
的格式是什么。如果它是一个dataURI,类似这样的

Blob {size: 144425, type: "image/jpeg"}
data:image/jpeg;base64,R0lGODlhEAAQAMQAAORHHOV....
那你可以试试这个

dataURItoBlob(dataURI) {
      var byteString = atob(dataURI.split(",")[1]);
      var ab = new ArrayBuffer(byteString.length);
      var ia = new Uint8Array(ab);
      for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
      }
      return new Blob([ab], { type: "image/jpeg" }); // change the type here into the type you want
    },
dataURItoBlob(dataURI){
var byteString=atob(dataURI.split(“,”[1]);
var ab=新阵列缓冲区(byteString.length);
var ia=新的UINT8阵列(ab);
for(var i=0;i
有什么帮助吗?@JaromandaX no bro已经尝试了但没有帮助,所以我提出了一个问题:您确定错误来自代码的这一部分吗?错误表示它来自一个名为
add
的东西,这里没有任何东西叫做
add
。有什么帮助吗?@JaromandaX no bro已经尝试过了,但没有帮助,所以我提出了一个问题:您确定错误来自这部分代码吗?错误表示它来自一个名为
add
的东西,这里没有任何东西叫做
add
。这是我的getImageResponse的样子->Blob{size:144425,键入:“image/jpeg”}。这是我的getImageResponse的样子->Blob{size:144425,键入:“image/jpeg”}