亚马逊s3查看上传的图像将让我下载图像

时间:2011-11-29 06:49:40

标签: php javascript amazon-s3

我正在亚马逊s3上传图片但是当我尝试在浏览器中查看该文件时,它让我下载图片,我该如何禁用该图片?我的预期结果应该是在浏览器中看到图像。我该怎么做?

我听到了设置标题的内容,但我对此并不熟悉。

有人可以教我如何完成这个。

谢谢!

Anyhelp将受到极大的赞赏和奖励。

1 个答案:

答案 0 :(得分:1)

您使用的是AWS SDK for PHP吗?

您需要为图片设置正确的Content-Type,否则默认值为application/octet-stream,这就是您的浏览器下载文件的原因。在wikipedia上有一个很好的值列表。

// Instantiate the class
$s3 = new AmazonS3();

$response = $s3->create_object('my-bucket', 'myimgae.jpg', array(
    'contentType' => 'image/jpeg'
));

// Success?
var_dump($response->isOK());

或者对于S3中的现有对象,您可以使用change_content_type

最后,如果您是generating pre-signed urls,则可以动态设置content-type

// Instantiate the class
$s3 = new AmazonS3();

// Get the URL
$url = $s3->get_object_url('bucket', 'myimage.jpg', '5 minutes', array(
    'response' => array(
        'content-type' => 'image/jpeg'
    )
));