修复文件上传可以传文档bug
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user