> 웹 프론트엔드 > JS 튜토리얼 > 파일 업로드 전에 브라우저가 어떻게 MIME 유형을 안정적으로 확인할 수 있습니까?

파일 업로드 전에 브라우저가 어떻게 MIME 유형을 안정적으로 확인할 수 있습니까?

DDD
풀어 주다: 2024-12-02 04:12:14
원래의
210명이 탐색했습니다.

How Can Browsers Reliably Check MIME Types Before File Upload?

브라우저 측 MIME 검사 작동 방식과 까다로운 이유

JavaScript는 파일이 업로드되기 전에 파일 MIME 유형을 결정할 수 있지만 이를 검증할 수 있습니다. 보안을 위해 서버측에 설치하세요.

1단계: 사용 FileReader API

파일 정보를 얻으려면:

var files = document.getElementsByTagName('input')[0].files;
console.log(files[0].type);
로그인 후 복사

2단계: MIME 유형 추출

방법 1: 사용 Blob (파일에 속을 수 있음) 확장자)

console.log(files[0].type);
로그인 후 복사

방법 2: 헤더 검사(더 안정적임)

var fileReader = new FileReader();
fileReader.onloadend = function(e) {
  var header = (new Uint8Array(e.target.result)).subarray(0, 4).toString(16);
  switch (header) {
    case "89504e47":
      type = "image/png";
      break;
    case "47494638":
      type = "image/gif";
      break;
    case "ffd8ffe0":
    case "ffd8ffe1":
    case "ffd8ffe2":
      type = "image/jpeg";
      break;
    default:
      type = "unknown";
      break;
  }
};
fileReader.readAsArrayBuffer(files[0]);
로그인 후 복사

참고:

  • 파일 확장자는 위조될 수 있으므로 헤더 검사가 더 중요합니다. 신뢰할 수 있습니다.
  • 파일 유형에 따라 매직 넘버가 다를 수 있습니다.
  • 보안을 위해서는 여전히 서버측 검증이 필수적입니다.

위 내용은 파일 업로드 전에 브라우저가 어떻게 MIME 유형을 안정적으로 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿