javascript - 如何将文件对象下载给用户?
问题描述
在一条路线内:
app.get('some-route', async (req, res) => {
// ...
}
我有一个文件对象 ( file
),它看起来像:
现在我想下载这个。
目前我正在做:
app.get('some-route', async (req, res) => {
const file = //...
res.write(file.data.buffer,"binary");
res.end();
}
这有效,但给出了一个没有扩展名的文件download
(通过手动添加扩展名,我可以检查它是否有效)。
如何设置文件的名称和扩展名?(或者有完全不同的更好的方法来下载这样的文件吗?)
解决方案
您可以使用 express 模块multer。要将文件发送到服务器,您需要将其包装在 FormData
var fd = new FormData()
fd.append("file", file)
fetch("/express-server", { method: "POST", body: fd })
要在服务器上接收文件,您必须按照指南multer
推荐阅读
- javascript - Webpack - SyntaxError: Unexpected token {
- javascript - 如何在for循环内制作一个切换按钮以仅在单击的元素上激活
- python - 如何删除与列表元素相关的类型错误
- javascript - React 属性传播符号是否也传递给子代?
- kubernetes - 如何在 Kubernetes 集群上部署购物应用?
- ag-grid - 如何在通过 ag 网格中的导出上下文菜单导出时指定导出文件的默认文件名
- image - 按像素定位文本而不是对齐
- sapui5 - this.byId() 返回未定义
- java - 在 Spring Boot 中全局启用 CORS
- reverse-proxy - arangodb 3.1 落后于 apache 2.4 反向代理?