S0025136190 7 kuukautta sitten
vanhempi
commit
e38a205e9a
1 muutettua tiedostoa jossa 25 lisäystä ja 14 poistoa
  1. 25 14
      src/pages/takai/knowledgeLib/detail/index.tsx

+ 25 - 14
src/pages/takai/knowledgeLib/detail/index.tsx

@@ -52,17 +52,16 @@ const KnowledgeLibInfo: React.FC = () => {
     const [uploading, setUploading] = React.useState(false);
 
     const props: UploadProps = {
-        name: 'file',
+        name: 'files',
         multiple: true,
-        accept: '.md,.txt,.pdf,.jpg,.png,.jpeg,.docx,.xlsx,.pptx,.eml,.csv,.tar,.gz,.bz2,.zip,.rar,.jar',
-        fileList: fileList,
-        //action: '/api/deepseek/api/uploadDocument/' + params.knowledgeId,
+        action: '/api/deepseek/api/uploadDocument/' + params.knowledgeId,
 
-        beforeUpload: (file, files) => {
+        beforeUpload(file, fileList) {
+            setUploadLoading(true);
             const allowedExtensions = ['md', 'txt', 'pdf', 'jpg', 'png', 'jpeg', 'docx', 'xlsx', 'pptx', 'eml', 'csv', 'tar', 'gz', 'bz2', 'zip', 'rar', 'jar'];
 
             // 检查文件类型
-            for (const file of files) {
+            for (const file of fileList) {
                 const fileExt = file.name.split('.').pop()?.toLowerCase();
                 if (!fileExt || !allowedExtensions.includes(fileExt)) {
                     message.error(`不支持 ${fileExt} 格式的文件上传`);
@@ -72,7 +71,7 @@ const KnowledgeLibInfo: React.FC = () => {
 
             // 检查文件大小
             let totalSize = 0;
-            for (const file of files) {
+            for (const file of fileList) {
                 const fileExt = file.name.split('.').pop()?.toLowerCase();
                 const fileSizeMB = file.size / 1024 / 1024;
 
@@ -94,14 +93,26 @@ const KnowledgeLibInfo: React.FC = () => {
                 return Upload.LIST_IGNORE;
             }
 
-            return false;
         },
+        onChange(info) {
+            const { status } = info.file;
 
-        onChange: async ({ fileList }) => {
-            setFileList(fileList);
-        },
-        onRemove: (file) => {
-            setFileList(prev => prev.filter(item => item.uid !== file.uid));
+            if (status !== 'uploading') {
+                console.log(status, 'status--uploading');
+            }
+            if (status === 'done') {
+                console.log(status, 'status--done');
+                console.info(info.file.response, 'info.file.response.data');
+                if (info.file.response.code === 200 && info.file.response.data === 1) {
+                    message.success(`${info.file.name} file uploaded successfully.`);
+                    init(params.knowledgeId);
+                }
+                setUploadLoading(false);
+            } else if (status === 'error') {
+                console.log(status, 'status--error');
+                message.error(`${info.file.name} file upload failed.`);
+                setUploadLoading(false);
+            }
         },
         onDrop(e) {
             console.log('Dropped files', e.dataTransfer.files);
@@ -307,7 +318,7 @@ const KnowledgeLibInfo: React.FC = () => {
                     <>
                         <div>
                             <Upload {...props}>
-                                <Button type='primary' icon={<PlusOutlined />} onClick={handleUpload} disabled={uploading}>上传知识文件</Button>
+                                <Button type='primary' icon={<PlusOutlined />}>上传知识文件</Button>
                             </Upload>
                         </div>