> 웹 프론트엔드 > JS 튜토리얼 > 업로드하기 전에 JavaScript에서 파일 MIME 유형을 어떻게 확인할 수 있습니까?

업로드하기 전에 JavaScript에서 파일 MIME 유형을 어떻게 확인할 수 있습니까?

DDD
풀어 주다: 2024-12-01 17:21:11
원래의
819명이 탐색했습니다.

How Can I Verify File MIME Types in JavaScript Before Uploading?

업로드하기 전에 JavaScript로 파일 MIME 유형을 확인하는 방법은 무엇입니까?

가능한 해결 방법

서버측 검증이 필수적임에도 불구하고 클라이언트측 검증 수행 검사를 통해 불필요한 서버 리소스 소비를 방지할 수 있습니다. MIME 유형은 파일 확장자를 기반으로 결정되는 경우가 많지만 이러한 접근 방식은 신뢰할 수 없습니다. 업로드하기 전에 JavaScript를 사용하여 MIME 유형을 확인하기 위해 따를 수 있는 2단계 프로세스는 다음과 같습니다.

1단계: 파일 정보 검색

var control = document.getElementById("your-files");
control.addEventListener("change", function(event) {
    var files = control.files,
    for (var i = 0; i < files.length; i++) {
        console.log("Filename: " + files[i].name);
        console.log("Type: " + files[i].type);
        console.log("Size: " + files[i].size + " bytes");
    }
}, false);
로그인 후 복사

2단계: 파일 헤더 검사

FileReader API를 사용하여 파일 헤더를 검사합니다.

  1. 빠른 방법: 파일에서 MIME 유형을 직접 검색합니다. blob:

    console.log(blob.type);
    로그인 후 복사
  2. 신뢰할 수 있는 방법: 원시 파일 헤더 바이트 분석:

    var fileReader = new FileReader();
    fileReader.onloadend = function(e) {
      // code to obtain file header goes here
    };
    fileReader.readAsArrayBuffer(blob);
    로그인 후 복사

비교 실제 MIME 유형을 결정하기 위해 알려진 서명에 대한 헤더. 예를 들어 JPEG 서명은 다음과 같을 수 있습니다.

case "ffd8ffe0":
case "ffd8ffe1":
case "ffd8ffe2":
    type = "image/jpeg";
    break;
로그인 후 복사

마지막으로 예상되는 MIME 유형에 따라 파일 업로드를 수락하거나 거부합니다.

참고: 파일 이름이 바뀌더라도 이 기술을 사용하면 파일의 실제 MIME 유형을 설정할 수 있습니다.

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

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