我已成功将图像上传到我的Amazon S3存储桶,但当我转到生成它的URL时,我的图像会立即下载而不是显示在浏览器中。我的代码如下:
var fs = require('fs');
var AWS = require('aws-sdk');
AWS.config = new AWS.Config();
AWS.config.accessKeyId = "MY_ACCESS_KEY";
AWS.config.secretAccessKey = "MY_SECRET_KEY";
AWS.config.region = "us-west-2";
AWS.config.apiVersions = {
"s3": "2006-03-01"
}
var s3 = new AWS.S3();
var bodystream = fs.createReadStream('./meme1.png');
var params = {
'Bucket': 'MY_BUCKET_NAME',
'Key': 'uploads/images/' + 'Img4.png',
'Body': bodystream,
'ContentEncoding': 'base64',
'ContentType ': 'image/png',
'ACL':'public-read-write'
};
s3.upload(params, function(err, data){
console.log('RESPONSE: ', err, data);
});
其他一些帖子说要确保ContentType
对象的params
属性是正确的,但我很确定我的是正确的。如何解决此问题并使图像显示在浏览器中而不是下载?
答案 0 :(得分:0)
您缺少内容处理,默认情况下是“附件”,这意味着文件正在下载而不是显示。
ContentDisposition: inline
(为Google员工解答此问题)