javascript – Node.js knox s3图像检索

我正在尝试使用以下方法从节点中的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();
});

我愿意接受为什么这不起作用的建议.

最佳答案
我可以通过在结束事件回调中进行以下修改来下载图像:

s3res.on('end',function() {
    res.contentType('image/jpeg');
    res.write(data,encoding='binary')
    res.end()
});

我遇到了与原始海报相同的问题.我怀疑,因为我们将传入缓冲区的编码设置为二进制,所以我们需要在输出流上执行相同的操作.经过一些研究,我发现了一种写入方法,它将编码类型作为参数.

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面