我想阅读远程图像并显示它。我可以保存文件但不能正确显示代码。理想情况下,我只想在不进行处理的情况下正确传递文件 - 不确定是否需要tmp文件步骤。此代码不显示任何内容 - 没有错误。我也尝试了res.pipe(响应)。
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();
});
});
答案 0 :(得分:23)
我还是想知道如何完成上述工作,但我用request模块解决了我的问题!
var url = 'http://proxy.boxresizer.com/convert?resize=50x50&source=' + filename
require('request').get(url).pipe(res); // res being Express response
答案 1 :(得分:1)
由于 request
已弃用,您也可以像这样使用 node-fetch
:
app.get("/", (req, res) => {
fetch(fileUrl).then(file => {
file.headers.forEach((v, n) => res.setHeader(n, v));
file.body.pipe(res);
});
});