如何在 PHP 中上傳之前更改 AWS s3 儲存桶的檔案內容類型
P粉739706089
2023-09-02 15:55:35
<p>我有以下程式碼,可讓我成功地將檔案上傳到我的 S3 儲存桶。 </p>
<pre class="brush:php;toolbar:false;">$keyName = 'test_example/' . basename($_FILES["fileToUpload"]['tmp_name']);
$pathInS3 = 'https://s3.eu-west-2.amazonaws.com/' . $bucketName . '/' . $keyName;
// Add it to S3
try {
$s3->putObject(
array(
'Bucket'=>$bucketName,
'Key' => $keyName,
'contentType' => 'image/png',
'SourceFile' => $keyName,
'StorageClass' => 'REDUCED_REDUNDANCY'
)
);
} catch (S3Exception $e) {
die('Error:' . $e->getMessage());
} catch (Exception $e) {
die('Error:' . $e->getMessage());
}</pre>
<p>問題是他們下載而不是顯示圖片。我環顧四周,嘗試添加: 'contentType' => 'image/png',這不會改變任何內容。該檔案仍然作為 Value application/octet-stream 而不是 Jpg 圖像上傳。有辦法改變這個嗎? </p>
好吧,出於某種原因。
'contentType' => '圖片/png',
對我沒效。相反,我使用了
'ContentType' => '文字/純文字',
我現在可以查看我的圖像,而無需下載。