微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何允许用户从 express 中的链接下载文件?

如何解决如何允许用户从 express 中的链接下载文件?

我有功能可以让你在服务器所在的目录下创建一个文件夹,然后在那里上传文件 我正在尝试通过直接链接访问它们,就像这样

http://localhost:5000/attachments/1618413024408--1.jpg

因为,文件位于这里

enter image description here

但是为什么我无法访问它?

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'
      }
    })
})

或快速下载功能https://expressjs.com/en/api.html#res.download

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。