我得到一个远程 url,其中包含另一个域中的 pdf 文件。我需要通过在客户端浏览器中启动文件下载另存为对话框以某种方式将此文件传递给用户。
最佳答案
var request = require("request");
expressjs_app.get("/file_url", function(req, res){
request.get('remote_file_url').pipe(res);
});
如果您使用的是 http 模块而不是 express js,则将第二部分替换为:
var http = require("http");
http.createServer(function (req, res) {
if (req.url === '/file_url') {
request.get('remote_file_url').pipe(res);
}
});
更新:
使用“请求”模块 deprecated , 可以使用其他替代方法。下面的代码片段使用的是 nodejs 原生 https
模块。将 request.get
行替换为:
var https = require('https');
https.get('remote_file_url', remote_response => remote_response.pipe(res));
关于javascript - Node.js:将远程文件流式传输到文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538405/