環境
インフラ AWS EC2 + RDS + S3
アプリ PHP 8.0.8 + laravel8
概要
社内のファイルアーカイブアプリを開発しています。
S3にあるデータを別名(日本語)でダウンロードしたいと考えています。
local環境やS3未使用時は問題なくダウンロードできたのですが、
S3を使用するとうまくいきません。
ご教授よろしくお願いします。
やったこと
html
1<a href="https://s3-ap-northeast-1.amazonaws.com/bucketname/arch/filename.docx download="テストワード.docx" >ダウンロード</a>
別名ではなく、元のファイル名(filename.docx)でダウンロードされる
html
1<a href="https://s3-ap-northeast-1.amazonaws.com/bucketname/arch/filename.docx?response-content-disposition=テストワード.docx" >ダウンロード</a>
エラー表示される
This XML file does not appear to have any style information associated with it. The document tree is shown below.
\n
<Error>
<script/>
<Code>InvalidArgument</Code>
<Message>Header value cannot be represented using ISO-8859-1.</Message>
<ArgumentName>response-content-disposition</ArgumentName>
<ArgumentValue>テストワード.docx</ArgumentValue>
<RequestId>6XRJ42S86NE6AWFJ</RequestId>
<HostId>pYhE6qXdvMBknLRF37CP9UhLspfQwKQP4U67vcQk5XQ7SRvLvGg/DOEsb7A5TYOCrT3CQojyTXw=</HostId>
</Error>
補足
S3のバケットポリシー
json
1{ 2 "Version": "2012-10-17", 3 "Statement": [ 4 { 5 "Sid": "PublicReadGetObject", 6 "Effect": "Allow", 7 "Principal": "*", 8 "Action": "*", 9 "Resource": "arn:aws:s3:::bucketname/*", 10 "Condition": { 11 "StringLike": { 12 "aws:Referer": [ 13 "https://*.domain/*", 14 "https://*.domain/*" 15 ] 16 } 17 } 18 } 19 ] 20}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。