如何解决如何允许用户从 express 中的链接下载文件?
我有个功能可以让你在服务器所在的目录下创建一个文件夹,然后在那里上传文件 我正在尝试通过直接链接访问它们,就像这样
http://localhost:5000/attachments/1618413024408--1.jpg
因为,文件位于这里
但是为什么我无法访问它?
Cannot GET /attachments/1618413024408--1.jpg
解决方法
Express 本身为此 express.static(root,[options])
提供了一个易于使用的实现。
只需在代码中添加正确的位置即可:
app.use('/attachments',express.static(path.join(__dirname,'attachments')))
确保 path.join(__dirname,'attachments')
指向正确的目录(使用简单的 console.log),否则只需调整它。
文档:https://expressjs.com/en/starter/static-files.html
,尝试使用 express 函数 sendFile
https://expressjs.com/en/api.html#res.sendFile
类似的东西
app.use('/attachments/:filename',(req,res) => {
const myIms = <path to directory>
const filePath = myIms + '/attachments/' + req.filename
res.sendFile(filePath,{
headers: {
'Content-Type': 'image/jpg'
}
})
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。