天天看點

js判斷檔案名是否合法

檔案類型可查詢MIME參考手冊.

擷取檔案字尾名

/**
 * @description 擷取檔案字尾名
 * @param {String} fileName 檔案全名,包含字尾名的那種
 */
export function getFileExt(fileName) {
    let splits = fileName.split('.');
    return _.last(splits);
}
           

檢查檔案類型

/**
 * @description 檢查檔案類型,是否是合法的,這裡的validMIMEList僅寫了部分,如果需要支援更多,請查詢MIME參考手冊,增加更多的MIME類型進來
 * @param {Object} file 檔案對象
 * @param {String} exts 檔案合法類型,格式:doc|docx|png
 */
export function checkFileType(file, exts) {
    let validMIMEList = [
        // doc
        'application/msword',
        // xls
        'application/vnd.ms-excel',
        // docx
        'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
        // xlsx
        'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
        // pdf
        'application/pdf',
        // rar
        'application/x-rar-compressed',
        // zip
        'application/zip'
    ];
    let validExts = exts.split('|');
    let fileExt = getFileExt(file.name);
    if (_.includes(validMIMEList, file.type) || _.includes(validExts, fileExt)) {
            return true;
    } else {
            return false;
    }
}
           

js判斷檔案名是否合法