想问下后端下载接口返回了文件,为啥用 js 转 blob 后打不开了...

2020-04-14 15:22:31 +08:00
 xiaohantx

3296 次点击
所在节点    JavaScript
24 条回复
zjsxwc
2020-04-14 15:57:11 +08:00
@zjsxwc 抱歉,第三个 mime 参数写错了
Latin
2020-04-14 15:58:52 +08:00
补充:ajax 或 axios 请求的 responseType 声明为 blob
xiaohantx
2020-04-14 16:07:44 +08:00
@zjsxwc 第二个'hello'那里报错了,所以我改成了 var blob = new Blob([u8arr], {
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' // 这里放文件类型,后台返回的 response 会有这个文件类型,放进来就行
})

生成的文件大小貌似和下载的差不多,下载 85,生成 81k 。。。但是好像仍然打不开
yaphets666
2020-04-14 16:12:44 +08:00
前段时间我经常遇到这个问题 如果前端正确设置了 responseType 和 Blob 的 type (MIME type) 还有问题 那就是后端问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/662302

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX