From d84061ee8308c1631c4dff6c5e51af8bb7329e6d Mon Sep 17 00:00:00 2001 From: lhwan <1017484907@qq.com> Date: Tue, 27 Aug 2024 18:30:29 +0800 Subject: [PATCH] feat: knowledge upload changed --- web/components/knowledge/doc-upload-form.tsx | 53 ++++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/web/components/knowledge/doc-upload-form.tsx b/web/components/knowledge/doc-upload-form.tsx index 269d2efb2..48b806688 100644 --- a/web/components/knowledge/doc-upload-form.tsx +++ b/web/components/knowledge/doc-upload-form.tsx @@ -78,27 +78,6 @@ export default function DocUploadForm(props: IProps) { }), ); break; - case 'DOCUMENT': - const file = originFileObj as any; - const formData = new FormData(); - const filename = file?.name; - const ques = questions.map((item) => item.question); - formData.append('doc_name', filename); - formData.append('doc_file', file); - formData.append('doc_type', 'DOCUMENT'); - formData.append('questions', JSON.stringify(ques)); - [, docId] = await apiInterceptors(uploadDocument(spaceName, formData)); - console.log(docId); - if (Number.isInteger(docId)) { - setFiles((files: any) => { - files.push({ - name: filename, - doc_id: docId || -1, - }); - return files; - }); - } - break; } setSpinning(false); if (docType === 'DOCUMENT' && files.length < 1) { @@ -123,8 +102,6 @@ export default function DocUploadForm(props: IProps) { const handleFileChange = ({ file, fileList }: UploadChangeParam) => { if (fileList.length === 0) { form.setFieldValue('originFileObj', null); - } else { - form.setFieldValue('originFileObj', file); } }; @@ -294,23 +271,45 @@ export default function DocUploadForm(props: IProps) { ); }; + const uploadFile = async (options: any) => { + const { onSuccess, onError, file } = options; + const formData = new FormData(); + const filename = file?.name; + formData.append('doc_name', filename); + formData.append('doc_file', file); + formData.append('doc_type', 'DOCUMENT'); + const [, docId] = await apiInterceptors(uploadDocument(spaceName, formData)); + if (Number.isInteger(docId)) { + onSuccess && onSuccess(docId || 0); + setFiles((files: any) => { + files.push({ + name: filename, + doc_id: docId || -1, + }); + return files; + }); + } else { + onError && onError({ name: '', message: '' }); + } + }; + const renderDocument = () => { return ( <>
{t('Select_or_Drop_file')}
- PDF, PowerPoint, Excel, Word, Text, Markdown, Zip1 + PDF, PowerPoint, Excel, Word, Text, Markdown, Zip1, Csv