关于文件导出的一个疑问
忘了说下前提了,我使用
Content-Disposition
的目的就是为了避免在ajax
请求后还要做多余的动作,也就是想去掉then
里面的操作axios.get('/export').then(res)
如果后端设置如下响应头
app.get('/export', (req, res) => {
res.set({
Content-Type: 'application/octet-stream; charset=utf-8',
Content-Disposition: attachment; filename="123.jpg"
})
res.send(file);
})
那么前端使用如下方式,或者使用form发起Post或者get请求,都能让浏览器自动保存文件
location.href = '/export'
<a href="/export" download="123.jpg">
但是,如果使用ajax发起get或者post请求,就不行,我猜想应该是ajax覆盖了浏览器自动保存的控制权,但是我找不到相关资料来佐证,有人知道吗?
axios.get('/export')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
谢邀,试试这种方法
也可以使用第三方库:https://www.npmjs.com/package...
我也做过相关操作,在ie 和chrome测试过,没有问题
试试这种:imageSrc(图片源),name: 下载的名称;
之前写过下载,只要图片源允许下载,应该是可以用的。