Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件读取到blob并以javascript显示_Javascript_Image_Pdf_Blob - Fatal编程技术网

将文件读取到blob并以javascript显示

将文件读取到blob并以javascript显示,javascript,image,pdf,blob,Javascript,Image,Pdf,Blob,所以我试图创建一个功能的基本原型。基本上,最终目标是接收Base64编码的字符串和支持mime类型,并生成文件并从HTML5应用程序提供。现在,我正致力于从内存中获取一个文件,将其转换为一个Blob,然后显示它 var blobfile = atob(base64); window.blobFromBlob = new Blob([binaryString], { type: MIMEType }); window.blobURL = URL.createObj

所以我试图创建一个功能的基本原型。基本上,最终目标是接收Base64编码的字符串和支持mime类型,并生成文件并从HTML5应用程序提供。现在,我正致力于从内存中获取一个文件,将其转换为一个Blob,然后显示它

   var blobfile = atob(base64);
   window.blobFromBlob = new Blob([binaryString], {
     type: MIMEType
   });
   window.blobURL = URL.createObjectURL(window.blobFromBlob);
   var a = "<a href=\"" + window.blobURL + "\">Binary Blob Link</a>";
   document.getElementById('byte_content').innerHTML = a;
var blobfile=atob(base64);
window.blobFromBlob=新Blob([binaryString]{
类型:MIMEType
});
window.blobURL=URL.createObjectURL(window.blobFromBlob);
var a=“”;
document.getElementById('byte_content')。innerHTML=a;
我已经创建了一个新的应用程序来显示我遇到的问题。当我把,比如JPEG,放进去,然后试着把它放上去时,img标签会显示损坏的图像。Base64 blob我从来没有想过会工作,但是二进制blob和来自Base64的blob我确实希望工作

有人能看出我哪里做错了吗

谢谢

注意:通过将
readAsBinaryString
更改为
readAsArrayBuffer


注2:我开始怀疑它与
atob
btoa

有关,因此,如果其他人偶然发现这一点并发现它有用,我可以在您的帮助下解决此问题。解决方案包括保留
readAsBinaryString
作为文件读取方法。使用
btoa
创建Base64字符串,然后使用中的
b64toBlob
函数

下面是调整后的JSFIDLE,以显示我是如何使其工作的