我试图让我的一个EJS页面有一个按钮从我的Node.js webapp下载文件。我正在使用Node.js,Express,Passport等...当前,当我点击我的链接时,它会链接到一个显示Cannot GET /public/files/PRA.xlsx
的页面
以下是我为该链接提供的代码:
<a href="/public/files/PRA.xlsx" download>Download PRA File</a>
在这里你可以看到我的应用程序的文件结构。
任何帮助或提示都将不胜感激。
答案 0 :(得分:1)
尝试:<a href="/files/PRA.xlsx" download>Download PRA File</a>
如果您为express设置了静态中间件,它会将您指定的文件夹挂载到可以提供文件的位置。
示例:
app.use(express.static('public'))
将提供位于public
文件夹中的所有文件。如果公用文件夹的文件类似于:image.png,则可以从localhost:3000/image.png
获取该文件。
如果您想从localhost:3000/public/image.png
投放该图片,可以执行以下操作:
app.use('/public', express.static('public'))
快递文档中有更多相关信息。 https://expressjs.com/en/starter/static-files.html