node.js - 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
。
解决方案
我在这里找到了答案:使用 Express 从 NodeJS 服务器下载文件。使用快递和不使用快递。
如果您使用 Express,那就太简单了。这是res.download的文档。我不敢相信解决方案只是一行代码:
res.download('/path/to/file.txt', 'newname.txt');
推荐阅读
- sql - 具有不同值的查询执行不同
- android - 应用程序在一段时间后自动注销
- jekyll - Github 博客上的 Jekyll 没有出现在 Google 中
- java - javax.servlet.ServletException:无法解析名称为“dispatcherServlet”的 servlet 中名称为“forward:/index”的视图
- python - 谷歌 SMTP 电子邮件发送不起作用 python
- dropzone.js - Dropzone.js - 在使用签名网址上传到谷歌云存储之前调整图像大小?
- typescript - 通过接口属性从对象中获取值?
- google-apps-script - 使用单元格值的 Google 应用程序脚本中的 setNamedRange
- mysql - MySQL 从 2 个表中选择并替换值
- python - 无法访问我在 Django 中的所有静态文件