【发布时间】:2012-01-08 13:36:21
【问题描述】:
我在 Amazon s3 中上传图像,但是当我尝试在浏览器中查看文件时,它允许我下载图像,我将如何禁用该图像?我的预期结果应该是在浏览器中看到图像。我该怎么做呢?
我听说过设置标题,但我不熟悉。
谁能教我如何完成这个。
谢谢!
任何帮助将不胜感激和奖励。
【问题讨论】:
标签: php javascript amazon-s3
我在 Amazon s3 中上传图像,但是当我尝试在浏览器中查看文件时,它允许我下载图像,我将如何禁用该图像?我的预期结果应该是在浏览器中看到图像。我该怎么做呢?
我听说过设置标题,但我不熟悉。
谁能教我如何完成这个。
谢谢!
任何帮助将不胜感激和奖励。
【问题讨论】:
标签: php javascript amazon-s3
你在使用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'
)
));
【讨论】:
content-type 之外,我不知道任何其他方法。