작성
·
390
0
<Error>
<Code>
AccessDenied
</Code>
<Message>
Invalid according to Policy: Extra input fields: content-type
</Message>
<RequestId>
GQSZRQNAQMXMXXVG
</RequestId>
<HostId>
UpJDG/uFesEIyfK0XlzwBoFrC9oUY9zNKokwWwZl7mkd+SziH4WbJbsUfT7SjJCWyg+fIR0r5v4=
</HostId>
</Error>
s3로 전송하면 403에 위와 같은 에러가 리턴되는데 원인이 뭘까요???
presigned까지 잘 받아와지고,
s3로 전송하는 formdata의 데이터는 아래와 같습니다.
['key', 'row/e2af34f5-f3d6-442c-994f-353729ffeb15.png']
['bucket', 'image-upload-tutorials']
['X-Amz-Algorithm', 'AWS4-HMAC-SHA256']
['X-Amz-Credential', 'AKIA3KPTOAZFKGL355XY/20220905/ap-northeast-2/s3/aws4_request']
['X-Amz-Date', '20220905T173547Z']
['Policy', 'eyJleHBpcmF0aW9uIjoiMjAyMi0wOS0wNVQxNzo0MDo0N1oiLC…9LHsiWC1BbXotRGF0ZSI6IjIwMjIwOTA1VDE3MzU0N1oifV19']
['X-Amz-Signature', 'c433498a287025e7b4d2dd5935fe1c4fd6d04a8afd79cfd4434dcfd1b044996a']
['Content-Type', 'image/png']
['file', File]
답변 1
0
Policy에 content-type 필드가 추가로 입력 되었다는 에러는 aws.js createPresingedPost에서 Conditions에 오타가 있어서 발생하는 오류 같습니다.
Conditions: [ ["content-length-range", 0, 50 * 1000 * 1000], ["starts-with", "$Content-Type", "image/"], ], //50MB
이 부분을 확인해보세요.