아니.
content-type은 알고 있다면 알려진 것이어야합니다. application/octet-stream
RFC 2046에서 "임의 이진 데이터"로 정의되며, 여기서 의도 된 목적이 디스크에 저장되고 그 시점부터 "웹비"외부에있는 개체에 적합하다는 명확한 중복이 있습니다. 또는 다른 방향에서 보거나; application / octet-stream으로 안전하게 할 수있는 유일한 것은 파일에 저장하고 다른 사람이 그 내용을 알고 있기를 희망하는 것입니다.
당신의 사용을 결합 할 수 있습니다 Content-Disposition
기타 등의 내용 유형과 image/png
도 또는 text/html
당신이 디스플레이보다는 절약하려는 나타냅니다. 예전에는 일부 브라우저가 무시할 수 text/html
있었지만이 시점에서 오랜 시간이 지났다고 생각합니다. 브라우저는 지금, 아마도 나중에).
RFC 2616은 또한 확장 토큰의 가능성에 대해 언급하고 있으며 요즘 대부분의 브라우저는 inline
가능한 경우 엔티티가 표시되기를 원한다는 의미로 인식 합니다 (즉, 브라우저가 표시하는 방법을 알고있는 유형이면 그렇지 않으면 문제가 없습니다) . 이것은 물론 기본 동작이지만 filename
브라우저에서 사용할 헤더 부분을 포함 할 수 있음을 의미합니다 (어쩌면 약간의 조정으로 파일 확장명이 문제의 콘텐츠 유형에 대한 로컬 시스템 규범과 일치 할 수도 있습니다) 사용자가 저장하려고하면 제안으로.
그 후:
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"
"도대체이게 무엇인지 모르겠습니다. 파일명을 picture.png로 지정하십시오."라는 의미입니다.
Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"
"이것은 PNG 이미지입니다. 선호하는 파일 이름 (picture.png)으로 저장하십시오."
Content-Type: image/png
Content-Disposition: inline; filename="picture.png"
"이것은 PNG 이미지입니다. PNG 이미지를 표시하는 방법을 모르면 표시하십시오. 그렇지 않으면, 또는 사용자가 저장을 선택하면, 다른 이름으로 저장하는 파일의 이름 picture.png가 좋습니다."
inline
사용자가 "링크를 다른 이름으로 저장"을 선택했지만 볼 때 "저장"을 선택하지 않은 경우 (또는 적어도 IE는 그와 같이 사용 되었음) 다른 브라우저 는 항상 사용 하는 브라우저 몇 년 전에 변경되었을 수 있습니다).