Amazon S3 - 上传图像的URL下载图像而不是在浏览器中显示

时间:2017-06-21 22:22:48

标签: javascript amazon-web-services amazon-s3

我已成功将图像上传到我的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属性是正确的,但我很确定我的是正确的。如何解决此问题并使图像显示在浏览器中而不是下载?

1 个答案:

答案 0 :(得分:0)

您缺少内容处理,默认情况下是“附件”,这意味着文件正在下载而不是显示。

ContentDisposition: inline

(为Google员工解答此问题)