import { message,Upload } from 'antd'; // 验证上传文件大小是否符合要求 // 参数说明: // file: 上传的文件 // maxSize: 最大文件大小 // type: 文件类型,支持*表示所有类型 const FileTypeMap = { 'application/pdf': 'pdf', 'image/jpeg': 'jpg', 'image/png': 'png', 'application/msword': 'doc', 'application/zip': 'zip', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'docx', 'application/vnd.ms-excel': 'xls', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xlsx', 'application/vnd.ms-powerpoint': 'ppt', 'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'pptx', } export const validateFileSize = (file: File, maxSize: number,type: string[]) => { console.log(file) const { LIST_IGNORE } = Upload; const isLtMaxSize = file.size / 1024 / 1024 < maxSize; if (!isLtMaxSize) { message.error(`文件大小不能超过${maxSize}MB!`); return LIST_IGNORE; } const isValidFormat = type.includes('*') || type.includes(FileTypeMap[file.type as keyof typeof FileTypeMap]); if (!isValidFormat) { message.error(`只能上传${type.join(',')}格式文件!`); return LIST_IGNORE; } return isValidFormat && isLtMaxSize; };