Content-Type 헤더를 보내지 않는 Amazon S3 않은 것 같습니다. Amazon 서버가 올바르게 구성되어

다양한 소스에서 콘텐츠를 다운로드하는 응용 프로그램이 있습니다. 이미지에 설정된 “Content-Type”헤더에 의존합니다. 대부분의 웹 서버는이 작업을 올바르게 수행하지만 Amazon S3 서버가 Content-Type을 설정하지 않은 것 같습니다.

Amazon 서버가 올바르게 구성되어 문제가 될 수 있다고 가정합니다. 이러한 이미지가 올바르게 업로드되지 않습니까? 또는 설정중인 컨텐츠 유형에 의존해서는 안됩니까?

감사



답변

S3에 업로드 된 파일은 Content-Type 헤더에 알려야합니다. 폴더 당 “정상적인”컨텐츠 웹 서버에서 수행 할 수있는 것과 같은 기본 컨텐츠 유형 정의는 없습니다 (나쁜 생각은 아닙니다!).


답변

S3에 객체를 업로드 할 때 Content-Type 헤더에 클라이언트에 반환 될 MIME 유형을 설정하는 옵션이 있습니다. S3는이 헤더를 자체적으로 추가하지 않으므로 사용자가 해당 값을 설정하지 않으면 Content-Type 헤더가 리턴되지 않습니다.

HTTP 서버는 Content-Type 헤더를 제공 할 필요가 없으므로 폴백 메커니즘을 제안합니다. 아마도 URL을보고 파일 확장자를 추측 할 수 있습니까? 그것은 약간의 해킹이지만 적어도 제공 한 예에서는 효과가 있습니다.


답변

이것을 설정해야합니다.

AWS Management Console에서 문제의 파일을 찾아 보면 “속성”을 클릭 할 수 있습니다. 그런 다음 메타 데이터 화면 하단에서. Key Content-Type이 설정되어 있으면 원하는 것으로 변경하고, 그렇지 않으면 새 Key를 추가하고 Content-Type을 선택한 후 적절한 값으로 설정하십시오.