我在亞馬遜s3上傳圖片,但是當我嘗試在瀏覽器中查看文件時,它允許我下載圖片,如何禁用該圖片?我的預期結果應該是在瀏覽器中看到圖像。我會怎麼做那個?查看上傳圖片的亞馬遜s3會讓我下載圖片
我聽到了一些設置標題,但我不熟悉這一點。
有人可以教我如何做到這一點。
謝謝!
Anyhelp將不勝感激和獎勵。
我在亞馬遜s3上傳圖片,但是當我嘗試在瀏覽器中查看文件時,它允許我下載圖片,如何禁用該圖片?我的預期結果應該是在瀏覽器中看到圖像。我會怎麼做那個?查看上傳圖片的亞馬遜s3會讓我下載圖片
我聽到了一些設置標題,但我不熟悉這一點。
有人可以教我如何做到這一點。
謝謝!
Anyhelp將不勝感激和獎勵。
您使用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'
)
));
感謝您的回答。 是的,我正在使用適用於PHP的AWS開發工具包。 我已經使用'content-type'=>'image/jpeg'對其進行了測試。 我的系統還允許png和gif,那麼如果文件擴展名爲gif,我將如何使'內容類型'具有靈活性,然後我會將它製作爲image/gif,或者如果png將使它成爲image/png。 謝謝! – PinoyStackOverflower
@ElsonSolano - 除了查看文件的擴展名,然後查找適當的'content-type',我不知道任何其他方法。 –
我想通了。我只用$ _FILES ['type']。 輸出上傳文件的文件類型/擴展名。例如'image/jpeg'。所以我們可以輸入'content-type => $ _FILES ['type'] 無論如何,謝謝你的回答! :) – PinoyStackOverflower
的可能重複的[亞馬遜三 - 圖像下載,而不是在瀏覽器中顯示](http://stackoverflow.com/questions/4751360/amazon-s3-image-downloading-instead-of-displaying-in-瀏覽器) – Thilo