javascript - 在 ExpressJS 中管道远程文件

标签 javascript node.js express

我想读取远程图像并显示它。我可以保存文件,但无法正确显示代码。理想情况下,我只想在不处理的情况下正确传递文件 - 不确定是否需要 tmp 文件步骤。此代码不显示任何内容 - 没有错误。我也试过 res.pipe(response)。

var url = 'http://proxy.boxresizer.com/convert?resize=50x50&source=' + filename

var request = http.get(url, function(response) {

  var tmp = path.join(require('os').tmpDir(), filename);

  var outstream = require('fs').createWriteStream(tmp);

  response.pipe(outstream);
  response.on('end', function() {
    res.set('Content-Type', 'image/jpg');
      res.pipe(outstream);
      res.end();
  });
});

最佳答案

好吧,我仍然想知道如何完成上述工作,但我用 request 一行代码解决了我的问题。模块!

var url = 'http://proxy.boxresizer.com/convert?resize=50x50&source=' + filename
require('request').get(url).pipe(res);  // res being Express response

关于javascript - 在 ExpressJS 中管道远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432779/

相关文章:

javascript - 如何在同一页面进行登录和注销?

node.js - 从 Node.js C++ 模块导出整数值

node.js - 连接到 MongoDB 时身份验证总是失败

javascript - CSS 输入改变并恢复正常

javascript - chop Twitter Bootstrap 轮播的文本

javascript - 我正在尝试在 sequelize 的帮助下将 mysql 数据库与 node.js 连接,但我显示访问被拒绝

node.js - 当 mongodb 的好处应该是无模式时,为什么 mongoose 使用模式?

javascript - AWS CodeBuild : How to run tests that require starting Docker?

node.js - 在特定的 Express 路由器中禁用 SSL Trusted Peer 要求

javascript - 通过 POST 将文件传递给 NodeJS,然后传递给另一个 API,而不保存在磁盘上