瀏覽代碼

enh: apply file size limit to knowledge

Timothy Jaeryang Baek 1 月之前
父節點
當前提交
c69d1c86fe
共有 1 個文件被更改,包括 17 次插入1 次删除
  1. 17 1
      src/lib/components/workspace/Knowledge/KnowledgeBase.svelte

+ 17 - 1
src/lib/components/workspace/Knowledge/KnowledgeBase.svelte

@@ -9,7 +9,7 @@
 
 	import { goto } from '$app/navigation';
 	import { page } from '$app/stores';
-	import { mobile, showSidebar, knowledge as _knowledge } from '$lib/stores';
+	import { mobile, showSidebar, knowledge as _knowledge, config } from '$lib/stores';
 
 	import { updateFileDataContentById, uploadFile, deleteFileById } from '$lib/apis/files';
 	import {
@@ -131,6 +131,22 @@
 			return null;
 		}
 
+		if (
+			($config?.file?.max_size ?? null) !== null &&
+			file.size > ($config?.file?.max_size ?? 0) * 1024 * 1024
+		) {
+			console.log('File exceeds max size limit:', {
+				fileSize: file.size,
+				maxSize: ($config?.file?.max_size ?? 0) * 1024 * 1024
+			});
+			toast.error(
+				$i18n.t(`File size should not exceed {{maxSize}} MB.`, {
+					maxSize: $config?.file?.max_size
+				})
+			);
+			return;
+		}
+
 		knowledge.files = [...(knowledge.files ?? []), fileItem];
 
 		try {