mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-10 04:20:44 +02:00
refac
This commit is contained in:
@@ -168,6 +168,27 @@ async def process_uploaded_file(
|
||||
db=db_session,
|
||||
)
|
||||
|
||||
# Auto-link to Knowledge Collection when uploaded from one (#24807).
|
||||
# Mirrors POST /knowledge/{id}/file/add so linking doesn't depend
|
||||
# on the frontend staying connected after upload.
|
||||
knowledge_id = file_metadata.get('knowledge_id')
|
||||
if knowledge_id:
|
||||
try:
|
||||
await Knowledges.add_file_to_knowledge_by_id(
|
||||
knowledge_id=knowledge_id,
|
||||
file_id=file_item.id,
|
||||
user_id=user.id,
|
||||
directory_id=file_metadata.get('directory_id'),
|
||||
)
|
||||
await process_file(
|
||||
request,
|
||||
ProcessFileForm(file_id=file_item.id, collection_name=knowledge_id),
|
||||
user=user,
|
||||
)
|
||||
log.info(f'Linked file {file_item.id} to knowledge {knowledge_id}')
|
||||
except Exception as e:
|
||||
log.warning(f'Failed to link file {file_item.id} to knowledge {knowledge_id}: {e}')
|
||||
|
||||
except Exception as e:
|
||||
log.error(f'Error processing file: {file_item.id}')
|
||||
await Files.update_file_data_by_id(
|
||||
|
||||
@@ -246,7 +246,9 @@
|
||||
res.content
|
||||
);
|
||||
|
||||
const uploadedFile = await uploadFile(localStorage.token, file).catch((e) => {
|
||||
const uploadedFile = await uploadFile(localStorage.token, file, {
|
||||
knowledge_id: knowledge.id
|
||||
}).catch((e) => {
|
||||
toast.error(`${e}`);
|
||||
return null;
|
||||
});
|
||||
@@ -265,7 +267,8 @@
|
||||
toast.warning(uploadedFile.error);
|
||||
fileItems = fileItems.filter((file) => file.id !== uploadedFile.id);
|
||||
} else {
|
||||
await addFileHandler(uploadedFile.id);
|
||||
toast.success($i18n.t('File added successfully.'));
|
||||
init();
|
||||
}
|
||||
} else {
|
||||
toast.error($i18n.t('Failed to upload file.'));
|
||||
@@ -351,7 +354,8 @@
|
||||
toast.warning(uploadedFile.error);
|
||||
fileItems = fileItems.filter((file) => file.id !== uploadedFile.id);
|
||||
} else {
|
||||
await addFileHandler(uploadedFile.id);
|
||||
toast.success($i18n.t('File added successfully.'));
|
||||
init();
|
||||
}
|
||||
} else {
|
||||
toast.error($i18n.t('Failed to upload file.'));
|
||||
|
||||
Reference in New Issue
Block a user