|
@@ -351,14 +351,17 @@
|
|
|
|
|
|
const uploadGoogleDriveFile = async (fileData) => {
|
|
const uploadGoogleDriveFile = async (fileData) => {
|
|
console.log('Uploading Google Drive file:', fileData);
|
|
console.log('Uploading Google Drive file:', fileData);
|
|
|
|
+ const tempItemId = uuidv4();
|
|
const fileItem = {
|
|
const fileItem = {
|
|
- type: 'doc',
|
|
|
|
|
|
+ type: 'file',
|
|
|
|
+ file: '',
|
|
|
|
+ id: null,
|
|
|
|
+ url: fileData.url,
|
|
name: fileData.name,
|
|
name: fileData.name,
|
|
collection_name: '',
|
|
collection_name: '',
|
|
status: 'uploading',
|
|
status: 'uploading',
|
|
- url: fileData.url,
|
|
|
|
error: '',
|
|
error: '',
|
|
- itemId: uuidv4()
|
|
|
|
|
|
+ itemId: tempItemId
|
|
};
|
|
};
|
|
|
|
|
|
try {
|
|
try {
|
|
@@ -381,20 +384,21 @@
|
|
if (res && res.collection_name) {
|
|
if (res && res.collection_name) {
|
|
console.log('File processed successfully:', res);
|
|
console.log('File processed successfully:', res);
|
|
fileItem.status = 'uploaded';
|
|
fileItem.status = 'uploaded';
|
|
|
|
+ fileItem.file = res.file;
|
|
|
|
+ fileItem.id = res.file.id;
|
|
fileItem.collection_name = res.collection_name;
|
|
fileItem.collection_name = res.collection_name;
|
|
- fileItem.file = {
|
|
|
|
- ...res.file,
|
|
|
|
- ...fileItem.file
|
|
|
|
- };
|
|
|
|
|
|
+ fileItem.url = `${WEBUI_API_BASE_URL}/files/${res.file.id}`;
|
|
|
|
+
|
|
files = files;
|
|
files = files;
|
|
toast.success($i18n.t('File uploaded successfully'));
|
|
toast.success($i18n.t('File uploaded successfully'));
|
|
} else {
|
|
} else {
|
|
console.error('Invalid response from processWeb:', res);
|
|
console.error('Invalid response from processWeb:', res);
|
|
|
|
+ files = files.filter((f) => f.itemId !== tempItemId);
|
|
throw new Error('Failed to process file: Invalid server response');
|
|
throw new Error('Failed to process file: Invalid server response');
|
|
}
|
|
}
|
|
} catch (e) {
|
|
} catch (e) {
|
|
console.error('Error uploading file:', e);
|
|
console.error('Error uploading file:', e);
|
|
- files = files.filter((f) => f.itemId !== fileItem.itemId);
|
|
|
|
|
|
+ files = files.filter((f) => f.itemId !== tempItemId);
|
|
toast.error($i18n.t('Error uploading file: {{error}}', {
|
|
toast.error($i18n.t('Error uploading file: {{error}}', {
|
|
error: e.message || 'Unknown error'
|
|
error: e.message || 'Unknown error'
|
|
}));
|
|
}));
|