Преглед на файлове

Merge pull request #660 from ollama-webui/bulk-upload

feat: bulk document upload
Timothy Jaeryang Baek преди 1 година
родител
ревизия
46d0eff218
променени са 1 файла, в които са добавени 27 реда и са изтрити 25 реда
  1. 27 25
      src/routes/(app)/documents/+page.svelte

+ 27 - 25
src/routes/(app)/documents/+page.svelte

@@ -89,20 +89,19 @@
 				const inputFiles = e.dataTransfer?.files;
 				const inputFiles = e.dataTransfer?.files;
 
 
 				if (inputFiles && inputFiles.length > 0) {
 				if (inputFiles && inputFiles.length > 0) {
-					const file = inputFiles[0];
-					console.log(file, file.name.split('.').at(-1));
-					if (['image/gif', 'image/jpeg', 'image/png'].includes(file['type'])) {
-						reader.readAsDataURL(file);
-					} else if (
-						SUPPORTED_FILE_TYPE.includes(file['type']) ||
-						SUPPORTED_FILE_EXTENSIONS.includes(file.name.split('.').at(-1))
-					) {
-						uploadDoc(file);
-					} else {
-						toast.error(
-							`Unknown File Type '${file['type']}', but accepting and treating as plain text`
-						);
-						uploadDoc(file);
+					for (const file of inputFiles) {
+						console.log(file, file.name.split('.').at(-1));
+						if (
+							SUPPORTED_FILE_TYPE.includes(file['type']) ||
+							SUPPORTED_FILE_EXTENSIONS.includes(file.name.split('.').at(-1))
+						) {
+							uploadDoc(file);
+						} else {
+							toast.error(
+								`Unknown File Type '${file['type']}', but accepting and treating as plain text`
+							);
+							uploadDoc(file);
+						}
 					}
 					}
 				} else {
 				} else {
 					toast.error(`File not found.`);
 					toast.error(`File not found.`);
@@ -153,20 +152,23 @@
 	id="upload-doc-input"
 	id="upload-doc-input"
 	bind:files={inputFiles}
 	bind:files={inputFiles}
 	type="file"
 	type="file"
+	multiple
 	hidden
 	hidden
 	on:change={async (e) => {
 	on:change={async (e) => {
 		if (inputFiles && inputFiles.length > 0) {
 		if (inputFiles && inputFiles.length > 0) {
-			const file = inputFiles[0];
-			if (
-				SUPPORTED_FILE_TYPE.includes(file['type']) ||
-				SUPPORTED_FILE_EXTENSIONS.includes(file.name.split('.').at(-1))
-			) {
-				uploadDoc(file);
-			} else {
-				toast.error(
-					`Unknown File Type '${file['type']}', but accepting and treating as plain text`
-				);
-				uploadDoc(file);
+			for (const file of inputFiles) {
+				console.log(file, file.name.split('.').at(-1));
+				if (
+					SUPPORTED_FILE_TYPE.includes(file['type']) ||
+					SUPPORTED_FILE_EXTENSIONS.includes(file.name.split('.').at(-1))
+				) {
+					uploadDoc(file);
+				} else {
+					toast.error(
+						`Unknown File Type '${file['type']}', but accepting and treating as plain text`
+					);
+					uploadDoc(file);
+				}
 			}
 			}
 
 
 			inputFiles = null;
 			inputFiles = null;