Browse Source

Fix: Knowledge base page cannot upload folders #6062 (#6096)

### What problem does this PR solve?

Fix: Knowledge base page cannot upload folders #6062

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.18.0
balibabu 7 months ago
parent
commit
9d94acbedb
No account linked to committer's email address

+ 1
- 1
web/src/components/delimiter.tsx View File

<Form.Item <Form.Item
name={['parser_config', 'delimiter']} name={['parser_config', 'delimiter']}
label={t('knowledgeDetails.delimiter')} label={t('knowledgeDetails.delimiter')}
initialValue={`\\n!?;。;!?`}
initialValue={`\n`}
rules={[{ required: true }]} rules={[{ required: true }]}
tooltip={t('knowledgeDetails.delimiterTip')} tooltip={t('knowledgeDetails.delimiterTip')}
> >

+ 7
- 2
web/src/components/file-upload-modal/index.tsx View File

); );
}; };


interface IFileUploadModalProps extends IModalProps<boolean | UploadFile[]> {
interface IFileUploadModalProps
extends IModalProps<
{ parseOnCreation: boolean; directoryFileList: UploadFile[] } | UploadFile[]
> {
uploadFileList?: UploadFile[]; uploadFileList?: UploadFile[];
setUploadFileList?: Dispatch<SetStateAction<UploadFile[]>>; setUploadFileList?: Dispatch<SetStateAction<UploadFile[]>>;
uploadProgress?: number; uploadProgress?: number;
} }


const ret = await onFileUploadOk?.( const ret = await onFileUploadOk?.(
fileList ? parseOnCreation : [...currentFileList, ...directoryFileList],
fileList
? { parseOnCreation, directoryFileList }
: [...currentFileList, ...directoryFileList],
); );
return ret; return ret;
}; };

+ 17
- 2
web/src/pages/add-knowledge/components/knowledge-file/hooks.ts View File

const { runDocumentByIds, loading: _ } = useRunNextDocument(); const { runDocumentByIds, loading: _ } = useRunNextDocument();


const onDocumentUploadOk = useCallback( const onDocumentUploadOk = useCallback(
async (parseOnCreation: boolean): Promise<number | undefined> => {
async ({
parseOnCreation,
directoryFileList,
}: {
directoryFileList: UploadFile[];
parseOnCreation: boolean;
}): Promise<number | undefined> => {
const processFileGroup = async (filesPart: UploadFile[]) => { const processFileGroup = async (filesPart: UploadFile[]) => {
// set status to uploading on files // set status to uploading on files
setFileList( setFileList(
totalSuccess: succesfulFilenames.length, totalSuccess: succesfulFilenames.length,
}; };
}; };

const totalFiles = fileList.length; const totalFiles = fileList.length;


if (directoryFileList.length > 0) {
const ret = await uploadDocument(directoryFileList);
if (ret?.code === 0) {
hideDocumentUploadModal();
}
if (totalFiles === 0) {
return 0;
}
}

if (totalFiles === 0) { if (totalFiles === 0) {
console.log('No files to upload'); console.log('No files to upload');
hideDocumentUploadModal(); hideDocumentUploadModal();

Loading…
Cancel
Save