在Node中链接文件以供下载 - Javascript,EJS

时间:2018-04-10 00:36:34

标签: javascript html node.js express ejs

我试图让我的一个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>

在这里你可以看到我的应用程序的文件结构。

enter image description here

任何帮助或提示都将不胜感激。

1 个答案:

答案 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