서버측 검증이 필수적임에도 불구하고 클라이언트측 검증 수행 검사를 통해 불필요한 서버 리소스 소비를 방지할 수 있습니다. MIME 유형은 파일 확장자를 기반으로 결정되는 경우가 많지만 이러한 접근 방식은 신뢰할 수 없습니다. 업로드하기 전에 JavaScript를 사용하여 MIME 유형을 확인하기 위해 따를 수 있는 2단계 프로세스는 다음과 같습니다.
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);
FileReader API를 사용하여 파일 헤더를 검사합니다.
빠른 방법: 파일에서 MIME 유형을 직접 검색합니다. blob:
console.log(blob.type);
신뢰할 수 있는 방법: 원시 파일 헤더 바이트 분석:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!