gpt4 book ai didi

javascript - 从使用 $http 从服务器下载的原始文件创建 Blob 对象。

转载 作者:行者123 更新时间:2023-12-01 15:51:27 25 4
gpt4 key购买 nike

在服务器上有存储文件的 url。
网址是 http://website.com/abc
我在这个 url 上执行 $http get。

$http.get(url, { responseType: "arraybuffer" });

我想由此创建 Blob 对象。我确定该对象是 png 类型,因为它在上传之前具有此扩展名并且显示正确。
new Blob(result.data, {type: "image/png"});

我收到消息:
无法构造“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µ°õ

我尝试将 Blob 类型设置为 application/octet-stream 并且还没有指定 responseType 执行 $http.get。

如何创建合适的 Blob 文件?
我需要 Blob 文件来创建 File 对象,该对象是实现逻辑以使用模态在幻灯片中显示文件的条目数据。我已经为 File 类型的文件实现了逻辑,这些文件是由输入表单创建的 - 在上传到服务器之前完成了实现。现在事实证明,服务器不会向我返回相同的文件,而是只返回文件的 url,这创造了从 url 转换为 File 的想法,以免在该逻辑中重复。

最佳答案

尝试

$http.get(url, { responseType: "blob" });

或者
// missing `[]` at `js` at Question
new Blob([result.data], {type: "image/png"});

备注 XMLHttpRequest responseType也可以设置为 "blob" ,见 How to build PDF file from binary string returned from a web-service using javascript

关于javascript - 从使用 $http 从服务器下载的原始文件创建 Blob 对象。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33275458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com