当前位置: 首页 > 后端技术 > Node.js

Node实现文件下载

时间:2023-04-04 00:31:05 Node.js

请求头:referer,响应头:状态行,刷新,Content-Disposition,页面缓存原理服务端向客户端浏览器发送文件时,如果是浏览器支持的文件类型,则一般会默认用浏览器打开,比如txt、jpg等,会直接在浏览器中显示。1.将响应的标题设置为文件类型'Content-Disposition':'attachment;filename=',浏览器不支持,浏览器不会渲染内容,而是下载文件。Content-Dispositionfilename可以指定路径和文件名2.如果content-type设置为application/octet-stream,表示不想直接显示内容,而是弹出文件下载对话框,并且文件名为当前接口名实现【注意自己引入对应模块】方法一:let_path=path.resolve(__dirname,'e-router'+'.js')letstats=fs.statSync(_path)if(stats.isFile()){res.set({'Content-Type':'application/octet-stream','Content-Disposition':'attachment;filename='+'e-router'+'.js','Content-Length':stats.size});fs.createReadStream(_path).pipe(res);}else{console.log('Exportisnotafile!')}方法2res.download(_path,function(err){if(err){console.log(err);}});