8
원격 이미지를 읽고 표시하고 싶습니다. 파일을 저장할 수는 있지만 코드를 표시 할 수는 없습니다. 이상적으로는 처리하지 않고 파일을 전달하려고합니다. tmp 파일 단계가 필요한지 확실하지 않습니다. 이 코드는 아무 것도 표시하지 않고 오류도 표시하지 않습니다. 나는 res.pipe (응답)도 시도했다.ExpressJS에서 배관 원격 파일
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();
});
});
이것은 훨씬 좋습니다. 디스크에 파일을 저장하지 않습니다. 'response.pipe (outstream); 다음에 응답을 저장하려면'createreadstream'으로 파일을 다시 열고'res'로 파이프해야합니다. 질문에서 당신은'res.pipe (outstream);을했다. 이것은 실수 다. 파일을'res'로 파이프해야합니다. – user568109
나는이 대답을 좋아한다 : http://stackoverflow.com/questions/11355366/nodejs-redirect-url – Ron