修复文件上传可以传文档bug

This commit is contained in:
2025-04-25 19:17:37 +08:00
parent b9b5be1d47
commit 6c40c4d074
5 changed files with 421 additions and 54 deletions
+37 -4
View File
@@ -402,10 +402,32 @@ export default function FilesUpload() {
// 处理文件选择
const handleFilesSelected = (files: FileList) => {
if (files.length > 0) {
const newFiles = Array.from(files);
setCurrentFiles(newFiles);
if (fileType) {
startUpload(newFiles);
// 验证文件类型,只允许PDF文件
const validFiles: File[] = [];
let hasInvalidFiles = false;
Array.from(files).forEach(file => {
if (file.type === 'application/pdf' || file.name.toLowerCase().endsWith('.pdf')) {
validFiles.push(file);
} else {
hasInvalidFiles = true;
}
});
if (hasInvalidFiles) {
// 显示错误提示
messageService.error('只能上传PDF格式的文件', {
title: '文件类型错误',
confirmText: '确定',
cancelText: '',
});
}
if (validFiles.length > 0) {
setCurrentFiles(validFiles);
if (fileType) {
startUpload(validFiles);
}
}
}
};
@@ -433,6 +455,15 @@ export default function FilesUpload() {
// 开始上传文件
const startUpload = async (files: File[]) => {
try {
// 再次验证所有文件类型,确保只有PDF文件
const invalidFiles = files.filter(file =>
file.type !== 'application/pdf' && !file.name.toLowerCase().endsWith('.pdf')
);
if (invalidFiles.length > 0) {
throw new Error('只能上传PDF格式的文件');
}
setUploadStage("uploading");
setUploadProgress(0);
@@ -564,6 +595,8 @@ export default function FilesUpload() {
// 显示错误提示
messageService.error(`文件上传失败:${error instanceof Error ? error.message : '未知错误'}`, {
title: '文件上传失败',
confirmText: '确定',
cancelText: '',
onConfirm: () => {
resetUpload();
}