15

Content-type を指定せずに *.svg 画像を S3 にアップロードしようとしました。このアップロードは正常に機能し、AWS は Content-Type をデフォルトで binary/octet-stream に設定します。現在、ブラウザで画像の S3 URL を使用しようとすると、ブラウザは画像をレンダリングせず、不適切な MIME タイプの警告をスローします。

正しい MIME タイプを設定するために、AWS が提供する Content-type のリストを確認しましたが、「image/svg+xml」がありません。

誰かが S3 に svg 画像をアップロードしようとしたかどうか知りたいですか? その場合に設定される content-type は何ですか? または、svg 画像を S3 にアップロードするために使用できる、互換性のある他の Content-type はありますか?

前もって感謝します。

4

5 に答える 5

2

SDK を使用している場合は、この問題を解決するために使用したコード スニペットの例を次に示します。私はJavascript(NodeJs)を使用しています。これは、アップロード前にパラメーターからContentType「image/svg+xml」として明示的に定義するという、上記の受け入れられた回答を補完するものです。

const params = {
    Bucket: 'bucket', 
    Key: 'key', 
    Body: stream,
    ACL: 'public-read',
    ContentType: 'image/svg+xml',
 };
s3.upload(params, function(err, data) {
  console.log(err, data);
});
于 2020-09-30T15:31:22.063 に答える