node.js - 下载中带有文件名的NodeJS sendFile

标签 node.js express sendfile

我尝试使用以下代码将文件发送给客户端:

router.get('/get/myfile', function (req, res, next) {
  res.sendFile("/other_file_name.dat");
});

它工作正常,但当用户从 url 下载此文件时我需要它:

http://mynodejssite.com/get/myfile

进入浏览器的文件名必须是“other_file_name.dat”而不是“myfile”。

最佳答案

有一个专门的方法res.download

这涵盖了所有你;)

router.get('/get/myfile', function (req, res) {
    res.download("/file_in_filesystem.dat", "name_in_browsers_downloads.dat");
});

关于node.js - 下载中带有文件名的NodeJS sendFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41941724/

相关文章:

image - 从 Node.js 应用程序传递图像的最佳方式(使用 Express)

node.js - ExpressJS App.use 路由序列

http - 使用 HTTP.jl 发送大文件

javascript - 如何将 winston 日志文件保存到 mysql 数据库中?

c - 带有两个常规文件的 sendfile() 中的参数无效

java - 使用套接字将文件从客户端发送到服务器,但获取一些大小为零的文件

javascript - Windows 上 package.json 中位于外部的 'npm run' 脚本?

javascript - Node.js mongodb 多个计划任务

Node.js 源代码构建在 ARM 上给出段错误

javascript - 使用 Jasmine 进行单元测试时模拟全局对象