3

我得到一个远程 url,其中包含另一个域的 pdf 文件。我需要通过在客户端浏览器中启动文件下载“另存为”对话框以某种方式将此文件传递给用户。

4

1 回答 1

4
var request = require("request");

expressjs_app.get("/file_url", function(req, res){
   request.get('remote_file_url').pipe(res);
});

如果您使用的是 http 模块而不是表达 js,则将第二部分替换为:

var http = require("http");
http.createServer(function (req, res) {
  if (req.url === '/file_url') {
     request.get('remote_file_url').pipe(res);        
  } 
});

更新:
使用 'request' 模块deprecated,可以使用其他替代方案。下面的代码片段使用的是 nodejs 原生https模块。将此行替换为request.get

var https = require('https');
https.get('remote_file_url', remote_response => remote_response.pipe(res));
于 2013-08-30T17:43:01.450 回答