jbg*_*jbg 5 javascript download amazon-s3 node.js knox-amazon-s3-client
我正在尝试使用以下方法从节点中的s3检索图像:
app.get('/photos', function(req, res, next) {
var data = '';
s3.get('/tmp/DSC_0904.jpg').on('response', function(s3res){
console.log(s3res.statusCode);
console.log(s3res.headers);
s3res.setEncoding('binary');
s3res.on('data', function(chunk){
data += chunk;
});
s3res.on('end', function() {
res.contentType('image/jpeg');
res.send(data);
});
}).end();
});
Run Code Online (Sandbox Code Playgroud)
我愿意接受为什么这不起作用的建议.
小智 3
我可以通过在结束事件回调中进行以下修改来下载图像:
s3res.on('end', function() {
res.contentType('image/jpeg');
res.write(data, encoding='binary')
res.end()
});
Run Code Online (Sandbox Code Playgroud)
我遇到了与原始海报相同的问题。我怀疑,由于我们将传入缓冲区的编码设置为二进制,因此我们需要在输出流上执行相同的操作。经过一番研究,我发现 write 方法不将编码类型作为参数。