From b9c977348e63d2f12ab0c862a24cdb88102a6a75 Mon Sep 17 00:00:00 2001 From: satogen Date: Sat, 8 Nov 2025 23:01:22 +0900 Subject: [PATCH] Add file type validation to paste upload Added checks to ensure pasted files match allowed types and uploader is enabled before proceeding. Displays an error notification if the file type is not supported. --- 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 9675123fe70c52..521ecdbafda568 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) => {