From 19c92fd670bab121cd8d4c3f92ddefd95c98bf17 Mon Sep 17 00:00:00 2001 From: Gen Sato <52241300+halogen22@users.noreply.github.com> Date: Wed, 12 Nov 2025 20:27:56 +0900 Subject: [PATCH] Add file type validation to paste upload (#28017) --- web/app/components/base/file-uploader/hooks.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/web/app/components/base/file-uploader/hooks.ts b/web/app/components/base/file-uploader/hooks.ts index 9675123fe7..521ecdbafd 100644 --- a/web/app/components/base/file-uploader/hooks.ts +++ b/web/app/components/base/file-uploader/hooks.ts @@ -305,9 +305,23 @@ export const useFile = (fileConfig: FileUpload) => { const text = e.clipboardData?.getData('text/plain') if (file && !text) { e.preventDefault() + + const allowedFileTypes = fileConfig.allowed_file_types || [] + const fileType = getSupportFileType(file.name, file.type, allowedFileTypes?.includes(SupportUploadFileTypes.custom)) + const isFileTypeAllowed = allowedFileTypes.includes(fileType) + + // Check if file type is in allowed list + if (!isFileTypeAllowed || !fileConfig.enabled) { + notify({ + type: 'error', + message: t('common.fileUploader.fileExtensionNotSupport'), + }) + return + } + handleLocalFileUpload(file) } - }, [handleLocalFileUpload]) + }, [handleLocalFileUpload, fileConfig, notify, t]) const [isDragActive, setIsDragActive] = useState(false) const handleDragFileEnter = useCallback((e: React.DragEvent) => {