From 0535e7b8ce20660ba3b9fce9a9a04e22db1cbd16 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Fri, 5 Dec 2025 09:21:04 +0800 Subject: [PATCH] fix: enforce maximum file upload limit in file upload component --- .../ai-chat/component/chat-input-operate/index.vue | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ui/src/components/ai-chat/component/chat-input-operate/index.vue b/ui/src/components/ai-chat/component/chat-input-operate/index.vue index 747fa5828..c55c2eba9 100644 --- a/ui/src/components/ai-chat/component/chat-input-operate/index.vue +++ b/ui/src/components/ai-chat/component/chat-input-operate/index.vue @@ -1195,6 +1195,17 @@ async function saveUrl() { MsgWarning(t('chat.uploadFile.invalidUrl')) return } + const {maxFiles, fileLimit} = props.applicationDetails.file_upload_setting + const file_limit_once = + uploadImageList.value.length + + uploadDocumentList.value.length + + uploadAudioList.value.length + + uploadVideoList.value.length + + uploadOtherList.value.length + if (file_limit_once >= maxFiles) { + MsgWarning(t('chat.uploadFile.limitMessage1') + maxFiles + t('chat.uploadFile.limitMessage2')) + return + } // 允许的 MIME 类型 const allowedTypes: Record = { image: imageExtensions @@ -1257,8 +1268,6 @@ async function saveUrl() { return; } - // 大小校验 - const {fileLimit} = props.applicationDetails.file_upload_setting; if (fileSize > fileLimit * 1024 * 1024) { MsgWarning(url + ' ' + t('chat.uploadFile.sizeLimit') + fileLimit + 'MB') return;