首页 > 解决方案 > Nodsjs 提供静态文件但在下载时更改文件名

问题描述

我想在一个文件夹中提供许多文件,这可以使用app.use('/files', express.static('uploads'));.

我所有的文件都有一个 uuid 作为后缀,例如:73694640-44e9-448d-bf2f-29148b59180b_myfile.txt.

是否有一种简短的方法可以提供此文件夹中的所有文件,但是在下载它们时,文件名应该没有后缀/uuid?

喜欢http://localhost/files/73694640-44e9-448d-bf2f-29148b59180b_myfile.txt就会下载myfile.txt

标签: node.jsexpress

解决方案


我在这里找到了答案:使用 Express 从 NodeJS 服务器下载文件。使用快递和不使用快递。

如果您使用 Express,那就太简单了。这是res.download的文档。我不敢相信解决方案只是一行代码:

res.download('/path/to/file.txt', 'newname.txt');


推荐阅读