Node.js 请求流管道重命名文件名

use*_*010 5 request node.js

我正在使用 Node.js 请求模块将文件从远程服务器发送到用户浏览器。

这是我使用的代码:

expressjs_app.get("/file_url", function(req, res){
   request.get('remote_file_url').pipe(res);
});
Run Code Online (Sandbox Code Playgroud)

一切正常,我只想知道是否可以在浏览器中更改用户的文件名?

更新

我将远程文件发送给用户以供下载,我希望当用户想要保存文件时,除了原始文件名之外,还有不同的名称。

例如,如果远程文件是:http:// domain.com/file1.zip我想将文件名更改为http:// mydomain.com/myfile.zip

smr*_*mde 5

您需要在响应中设置一个标头:

expressjs_app.get("/file_url", function(req, res){
   res.header('Content-Disposition', 'attachment; filename="new file name.pdf"');
   request.get('remote_file_url').pipe(res);
});
Run Code Online (Sandbox Code Playgroud)

很容易。祝你好运。