From 131b5b3bbe05f2e06bfea87331cbbd8739dbf0db Mon Sep 17 00:00:00 2001
From: CaptainB
Date: Wed, 23 Apr 2025 10:47:20 +0800
Subject: [PATCH] feat: add existing file extensions warning and improve file
type display in upload settings
---
ui/src/locales/lang/en-US/common.ts | 3 ++-
ui/src/locales/lang/zh-CN/common.ts | 1 +
ui/src/locales/lang/zh-Hant/common.ts | 1 +
.../component/FileUploadSettingDialog.vue | 20 +++++++++++++++----
4 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/ui/src/locales/lang/en-US/common.ts b/ui/src/locales/lang/en-US/common.ts
index aa6e74795..2fd0a30b3 100644
--- a/ui/src/locales/lang/en-US/common.ts
+++ b/ui/src/locales/lang/en-US/common.ts
@@ -47,7 +47,8 @@ export default {
audio: 'Audio',
video: 'Video',
other: 'Other',
- addExtensions: 'Add suffix'
+ addExtensions: 'Add suffix',
+ existingExtensionsTip: 'File suffix already exists',
},
status: {
label: 'Status',
diff --git a/ui/src/locales/lang/zh-CN/common.ts b/ui/src/locales/lang/zh-CN/common.ts
index cc8af067e..db1e7e731 100644
--- a/ui/src/locales/lang/zh-CN/common.ts
+++ b/ui/src/locales/lang/zh-CN/common.ts
@@ -48,6 +48,7 @@ export default {
video: '视频',
other: '其他文件',
addExtensions: '添加后缀名',
+ existingExtensionsTip: '文件后缀已存在',
},
status: {
label: '状态',
diff --git a/ui/src/locales/lang/zh-Hant/common.ts b/ui/src/locales/lang/zh-Hant/common.ts
index 6fe33c876..8e6293076 100644
--- a/ui/src/locales/lang/zh-Hant/common.ts
+++ b/ui/src/locales/lang/zh-Hant/common.ts
@@ -48,6 +48,7 @@ export default {
video: '視頻',
other: '其他文件',
addExtensions: '添加後綴名',
+ existingExtensionsTip: '文件後綴已存在',
},
status: {
label: '狀態',
diff --git a/ui/src/workflow/nodes/base-node/component/FileUploadSettingDialog.vue b/ui/src/workflow/nodes/base-node/component/FileUploadSettingDialog.vue
index 27fc88a03..5e943af32 100644
--- a/ui/src/workflow/nodes/base-node/component/FileUploadSettingDialog.vue
+++ b/ui/src/workflow/nodes/base-node/component/FileUploadSettingDialog.vue
@@ -63,7 +63,7 @@
}}
- TXT、MD、DOCX、HTML、CSV、XLSX、XLS、PDF
+ {{ documentExtensions.map(s => s.toUpperCase()).join('、') }}
- JPG、JPEG、PNG、GIF
+ {{ imageExtensions.map(s => s.toUpperCase()).join('、') }}
@@ -121,7 +121,7 @@
}}
- MP3、WAV、OGG、ACC、M4A
+ {{ audioExtensions.map(s => s.toUpperCase()).join('、') }}
@@ -199,6 +199,8 @@
import { nextTick, ref } from 'vue'
import type { InputInstance } from 'element-plus'
import { cloneDeep } from 'lodash'
+import { MsgWarning } from '@/utils/message'
+import { t } from '@/locales'
const emit = defineEmits(['refresh'])
const props = defineProps<{ nodeModel: any }>()
@@ -210,6 +212,10 @@ const loading = ref(false)
const fieldFormRef = ref()
const InputRef = ref()
+const documentExtensions = ['txt', 'md', 'docx', 'html', 'csv', 'xlsx', 'xls', 'pdf']
+const imageExtensions = ['jpg', 'jpeg', 'png', 'gif']
+const audioExtensions = ['mp3', 'wav', 'ogg', 'acc', 'm4a']
+
const form_data = ref({
maxFiles: 3,
fileLimit: 50,
@@ -244,9 +250,15 @@ const showInput = () => {
}
const handleInputConfirm = () => {
if (inputValue.value) {
- if (form_data.value.otherExtensions.includes(inputValue.value)) {
+ if (
+ form_data.value.otherExtensions.includes(inputValue.value) ||
+ documentExtensions.includes(inputValue.value) ||
+ imageExtensions.includes(inputValue.value) ||
+ audioExtensions.includes(inputValue.value)
+ ) {
inputVisible.value = false
inputValue.value = ''
+ MsgWarning(t('common.fileUpload.existingExtensionsTip'))
return
}
form_data.value.otherExtensions.push(inputValue.value)