Node.js knox s3图像检索
Node.js knox s3 image retrieval
我正在尝试使用以下方法从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()
});
我和原来的海报有同样的问题。我怀疑既然我们将传入缓冲区的编码设置为二进制,那么我们需要在输出流上做同样的事情。经过一番研究,我发现write方法除了编码类型作为参数。
您可能喜欢使用AwsSum,因为它的功能和维护齐全。这里还有一个examples/目录里面有很多Amazon S3的例子:
- https://github.com/appsattic/node-awssum/
在node-awssum-scripts存储库中也有一个示例,它与node-awssum存储库是分开的:
- https://github.com/appsattic/node-awssum-scripts/blob/master/bin/amazon-s3-download.js
如果你进展顺利或者需要任何帮助,请告诉我。免责声明:我是AwsSum的作者。:)
我用它来获取我的图像,它工作得很好。
// Create the new file using fs
var new_file = fs.createWriteStream(destination_file);
// Now grab the file from s3
aws_connection.getFile(f, function(err, res) {
if(err) return err;
res.on('data', function(chunk) {
new_file.write(chunk);
});
res.on('end', function(chunk) {
new_file.end();
});
});
相关文章:
- 使用JSP从服务器检索和显示图像
- GoogleFeed正在检索图像
- 在Node.js中上传和检索图像
- Meteor和S3:如何通过一次上传/编辑定义三个不同的图像
- 存储和检索图像数据URL
- Imgur|检索给定相册链接的直接图像URL
- 在检索数据时是否可以停止图像加载请求
- 流星:无法使用 CollectionFS 将图像上传到 S3
- 如何检索从桌面应用程序发送到Rails API的图像
- 尝试显示使用 php 和数据库检索的缩略图中的全尺寸图像
- 如何使用Angular.js在页面上显示从JSON检索到的图像
- 如何在json对象中包含图像以及如何检索图像
- 图像高度只会从一大组图像中检索一次
- 如何检索通过CollectionFS:S3上传到AmazonS3的图像
- Parse.com-在JavaScript SDK中模板化集合时检索图像URL
- 如何使用javascript在缩略图中移动多个图像(从phpmyadmin检索)
- 使用jQuery's的ajax方法将图像检索为blob
- Node.js knox s3图像检索
- 设置javascript图像与S3 CORS很少工作
- 使用Jquery和servlet进行的图像检索不显示图像