매우 간단한 질문이지만 온라인 어디에서나 찾을 수없는 것 같습니다. 파일 형식에 따라 확장명을 제공하는 프로그램을 만들려고합니다.
매우 간단한 질문이지만 온라인 어디에서나 찾을 수없는 것 같습니다. 파일 형식에 따라 확장명을 제공하는 프로그램을 만들려고합니다.
답변:
아니요, image/jpg
와 동일하지 않으며 JPEG 파일의 실제 MIME 형식으로 image/jpeg
만 image/jpeg
인식됩니다.
참조 https://tools.ietf.org/html/rfc3745 , https://www.w3.org/Graphics/JPEG/을 .
image/jpg
IE에 잘못된 Content-Type을 제공 하면 문제가 발생할 수 있습니다 ( http://www.bennadel.com/blog/2609-internet-explorer-aborts-images-with-the-wrong-mime-type.htm 참조) .
image/jpeg jpeg jpg;image/jpg jpeg jpg;
tl; dr "표준"은 호지-포지 혼란입니다. 그것은 당신이 묻는 사람에 달려 있습니다!
전반적으로 MIME 유형이없는 것 같습니다 image/jpg
. 그러나 실제로 거의 모든 소프트웨어는 " *.jpg
" 라는 이름의 이미지 파일 만 처리합니다.
이 특정 주제는 MIME 유형과 연관된 파일 이름 확장자의 다양한 연관이 MIME 유형에 대한 파일 이름 확장자 테이블을 작성한 조직에 따라 다르므로 혼동됩니다. 즉, 파일 이름 확장자 .jpg
는 여러 가지가 될 수 있습니다.
예를 들어, 여기에는 다양한 JPEG 이미지 형식 파일 이름 확장자와 관련 MIME 유형에 따라 달라지는 세 개의 "완전한 목록"과 하나의 RFC가 있습니다 .
.jfif
, .jfif-tbnl
, .jpe
, .jpeg
, .jpg
→image/jpeg
.jfif
, .jpe
, .jpeg
, .jpg
→image/pjpeg
.jpeg
, .jpg
→image/jpeg
.jpeg
, .jpg
→image/x-citrix-jpeg
.pjpeg
→ image/pjpeg
jpg
언급되지 않은jpeg
→ RFC 2045 참조 (언급), RFC 2046 참조 → image/jpeg
13JPEG
→ video/JPEG
jpeg2000
→ video/jpeg2000
jpm
→ image/jpm
( JPEG 2000 )jpx
→ image/jpx
( JPEG 2000 )vnd.sealedmedia.softseal.jpg
→ image/vnd.sealedmedia.softseal.jpg
이러한 "전체 목록"및 RFC에는 MIME 유형이 없습니다 image/jpg
! 그러나 MIME 입력에 대한 image/jpeg
몇 가지 목록을 파일 확장명을 변경 한 않는 ( .jpeg
, .jpg
, ...). 다른 목록은 언급하지 않습니다 image/jpeg
.
또한 JPEG 이미지 형식 에는 여러 가지 유형이 있습니다 (예 : 프로그레시브 JPEG 이미지 포맷 , JPEG 2000 없는 중복 파일 이름 확장명과 MIME 타입을 선언하거나, 수, 등등) 및 "JPEG 확장".
또 다른 혼란 것입니다 RFC 3745는 일치하지 않는 것으로 보입니다 IANA 미디어 유형 아직 RFC 3745는 통보하도록되어 IANA 미디어 유형의 문서를. 예를 들어 RFC 3745 .jpf
선호하는 파일 확장자 image/jpx
이지만 IANA 매체 유형 에는 이름 jpf
이 없습니다 (및 IANA 문서가 RFC 3745 ! 참조 ).
또 다른 혼란스러운 점은 IANA 미디어 유형 은 "이름"을 나열하지만 "파일 이름 확장자"는 표시하지 않습니다. 이것은 의도적이지만 파일 이름 확장명을 MIME 유형에 매핑하려는 노력을 혼동합니다.
또 다른 혼란스러운 점은 " mime "또는 " MIME "또는 " MIME type "또는 " mime type "또는 " mime / type "또는 " media type "⁉ 😧
가장 공식 겉으로 IANA에 의해 문서는 놀라 울 정도로 부족하다. 파일 확장자에 등록 된 MIME 유형이 .jpg
없지만 확률이 있습니다 vnd.sealedmedia.softseal.jpg
. 파일 확장자 .JPEG
는 video
유형 으로 만 알려져있는 반면 파일 확장자 .jpeg
는 이미지 유형입니다 (소문자와 대문자가 문제가되었을 때!?). 동시에 RFC 3745jpeg2000
는 형식 video
이지만 JPEG 2000 을 형식으로 간주 합니다! IANA 목록은 회사 별 jpeg 형식 (예 :)을 제공하는 것으로 보입니다 .image
vnd.sealedmedia.softseal.jpg
이전의 혼동으로 인해 파일 이름 확장자를 특히 JPEG 이미지 파일 형식의 MIME 형식으로 매핑하는 업계에서 인정 된 표준 문서를 찾기가 어렵습니다.
관련 질문 " 지구상의 모든 MimeTypes 목록, 파일 확장자에 매핑 되었습니까? ".
여기서주의해야 할 것은 mime 유형이 파일 확장자와 동일 하지 않다는 것입니다. 그러나 때로는 동일한 값을 갖습니다.
https://www.iana.org/assignments/media-types/media-types.xhtml 에는 등록 된 Mime 유형 목록이 포함되어 있지만 전송하는 동안에는 자신 만의 구성을 막을 수있는 것은 없습니다 그리고받는 끝. 여기에 마이크로 소프트가 등장합니다.
혼동이 많은 곳은 운영 체제에 파일 이름의 꼬리 끝 (확장자라고 함)을 사용하여 파일 형식을 식별하는 고유 한 방법이 있다는 것입니다. 현대 운영 체제에서 전체 이름은 하나의 긴 문자열이지만 더 원시적 인 운영 체제에서는 별도의 속성으로 취급됩니다.
혼동을 일으킨 OS는 MSDOS이며 확장명을 3 자로 제한했습니다. 이 제한은 SD 카드와 같은 장치에서 오늘날에도 그대로 유지되며 동일한 방식으로 데이터를 저장합니다.
이 제한의 한 가지 부작용은 일부 파일 확장자 (예 : .gif
Mime 유형) 와 일치하고 다른 파일 확장자 image/gif
는 손상됩니다. 여기에는 image/jpeg
내선이 단축 된 사람 이 포함 됩니다..jpg
. 제한이 완화 된 최신 Windows에서도 Microsoft는 과거를 포기하지 않으므로 파일 확장자는 여전히 단축 버전입니다.
그것을 감안할 때 :
짧은 대답은 다음과 같습니다.
image/jpg
없으므로 답변은 다음과 동일하지 않습니다.image/jpeg
우리가있는 동안…
레거시 버전의 Internet Explorer는 jpeg
Mime Type of로 파일을 자유롭게 업로드 할 수 image/pjpeg
있었습니다. 물론 다른 모든 사람에게 더 많은 작업을 의미합니다. 또한 png
파일을로 업로드 했습니다 image/x-png
.
가지고 있지 image/jpg
않지만 사용할 수 있습니다.jpg
예
<input type="file" accept=".jpg"/>
출처 : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers