Amazon S3 不會發送 Content-Type 標頭

Amazon S3 不會發送 Content-Type 標頭

我有一個從各種來源下載內容的應用程式。它依賴於圖像上設定的“Content-Type”標頭。大多數 Web 伺服器都能正確執行此操作,但 Amazon S3 伺服器似乎未設定內容類型。

我假設亞馬遜伺服器配置正確,那麼問題可能是什麼?這些圖片是否未正確上傳?或者我不應該依賴設定的內容類型?

例子

謝謝

答案1

上傳到 S3 的檔案需要告知 Content-Type 標頭。每個資料夾沒有預設的內容類型定義,就像您可以在「普通」內容 Web 伺服器上執行的那樣(這不是一個壞主意!)。

答案2

將物件上傳到 S3 時,您可以選擇設定 MIME 類型,該類型將在 Content-Type 標頭中傳回給用戶端。 S3 不會自行新增此標頭,因此如果使用者未設定該值,則不會傳回 Content-Type 標頭。

HTTP 伺服器不需要提供 Content-Type 標頭,因此我建議採用後備機制。也許您可以查看 URL 並根據文件的擴展名進行猜測?這有點像黑客,但至少在您提供的示例中可以工作。

答案3

你需要設定這個。

在 aws 管理控制台上,如果您瀏覽到相關文件,則可以按一下「屬性」。然後在螢幕底部的元數據上。如果設定了 Key Content-Type,請將其變更為您想要的值,否則新增新的 Key,選擇 Content-Type 並將其設定為適當的值。

相關內容