cya*_*yan 2 javascript encoding file angularjs
在服务器上有存储文件的URL.网址是http://website.com/abc 我这个网址上有$ http获取.
$http.get(url, { responseType: "arraybuffer" });
Run Code Online (Sandbox Code Playgroud)
我想从中创建Blob对象.我确信该对象的类型是png,因为它在上传之前有这个扩展名并且它显示正确.
new Blob(result.data, {type: "image/png"});
Run Code Online (Sandbox Code Playgroud)
我收到消息: 无法构造'Blob':第一个参数既不是数组,也不是索引属性.
服务器http://website.com/abc GET在开发者控制台中的响应如下所示:
ÿØÿàJFIFÿþ;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 60
ÿÛC
' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROÿÛC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOÿÂÒ"ÿÄÿÄÿÚæå2ag\Ý#úDê3[Zdfc5±Ô¢¬æ)K<`¤l2¸ÊánYR±aA`Í%RÈfbz!¤tÞÑ-µd7ZªÀ[hz¨f¥>©cAV¬{3á R³F0 W>~c³"ðÈìøÖ²ÇBÙ³±+
½ò9tµ°õ
Run Code Online (Sandbox Code Playgroud)
我尝试将Blob类型设置为application/octet-stream,并且还在没有指定responseType的情况下执行$ http.get.
如何创建正确的Blob文件?我需要Blob File来创建File对象,它是实现逻辑的入口数据,用于以幻灯片形式显示带有模态的文件.我已经为File类型的文件实现了逻辑,这些文件是由输入表单创建的 - 实现是在上传到服务器之前完成的.现在事实证明服务器不会向我返回相同的文件,但只返回文件的URL,这创建了一个从url转换为File的想法,以便不再重复该逻辑.
gue*_*314 10
尝试
$http.get(url, { responseType: "blob" });
Run Code Online (Sandbox Code Playgroud)
要么
// missing `[]` at `js` at Question
new Blob([result.data], {type: "image/png"});
Run Code Online (Sandbox Code Playgroud)
注意XMLHttpRequest responseType也可以设置为"blob",请参阅如何使用javascript从Web服务返回的二进制字符串构建PDF文件