1个回答
![avatar](https://static.blogweb.cn/avatar/4202994235003.webp)
test
2024-06-20
使用 responseData: 'blob'
这样可以在 ajax 的回调里面就收到 blob,然后用 URL.createObjectURL 转为 bloburl,放在 a 标签用 download 属性触发下载。
但是这个的缺点就是不支持移动端,且不支持后台下载需要页面一直开着
所以一般我们会直接通过 form target 来触发浏览器的默认下载来下载资源。这种方案的缺点是不能携带 headers。所以这里一般会改成临时授权 url 来解决。
这样就能实现一个安全的,支持移动端的,支持后台下载的下载功能。
回复
![likes](https://cdn.blogweb.cn/icon/client/likes.png?w=48&q=100)
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容