文件類型可查詢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;
}
}