署名付きのアップロード URL を使用して、拡張子が .png (image/png) のファイルを正常にアップロードできます。ただし、拡張子 .mov の動画ファイルをアップロードするために同じことをしようとすると、Amazon S3 から 403 が返されます。contentType movie/mov、video/quicktime を使用してみましたが、すべて機能しません。ファイル名を .png と image/png に変更すると、動画ファイルが正しくアップロードされました。表示用に拡張子を変更する必要がありました... S3 署名付きファイルのアップロードでサポートされているファイルタイプのリストがあるかどうか、誰か知っていますか? ググっても詳細は出てこない…
私のs3バケットポリシー:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mytempbucket/*"
}
]
}
編集: これは私の presignedurl を生成する方法です:
final GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(s3BucketName, objectKey);
generatePresignedUrlRequest.setMethod(HttpMethod.PUT);
generatePresignedUrlRequest.setExpiration(expirationDate.toDate());
generatePresignedUrlRequest.setContentType(contentType);
そのため、contentType 文字列をサーバーに渡して、署名付き URL を生成しました。