每次都在使用a标签的download属性来下载文件,突然想,如果要借助服务端又如何主动请求文件的下载呢?
一、纯前端方式
只要给对了路径,就可以完全脱离后端,使用a标签的download属性下载。
二、服务端配合
这儿使用express来做服务端,用express不用node主要是因为省去路由配置的问题,只关注于下载方面。
app.get('/test',(req,res) => { res.set({ Content-Type:application/octet-stream,//告诉浏览器这是一个二进制文件 Content-Disposition:attachment; filename=1.txt//告诉浏览器这是一个需要下载的文件 }); fs.createReadStream('./public/file/test.txt').pipe(res); });
输入http://127.0.0.1:端口/test就可以下载了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。