首頁 > web前端 > js教程 > 上傳前如何在 JavaScript 中驗證檔案 MIME 類型?

上傳前如何在 JavaScript 中驗證檔案 MIME 類型?

DDD
發布: 2024-12-01 17:21:11
原創
807 人瀏覽過

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

上傳前如何用 JavaScript 檢查檔案 MIME 類型?

可能的解決方案

儘管伺服器端驗證很重要,但執行客戶端檢查可以防止不必要的伺服器資源消耗。雖然 MIME 類型通常是根據檔案副檔名確定的,但這種方法可能不可靠。您可以按照以下兩步驟流程在上傳前使用JavaScript 驗證MIME 類型:

第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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板