mirror of https://github.com/langgenius/dify.git
Add file upload enabled check and new i18n message (#28946)
This commit is contained in:
parent
63624dece1
commit
7fead6a9da
|
|
@ -246,6 +246,11 @@ export const useFile = (fileConfig: FileUpload) => {
|
|||
}, [fileStore])
|
||||
|
||||
const handleLocalFileUpload = useCallback((file: File) => {
|
||||
// Check file upload enabled
|
||||
if (!fileConfig.enabled) {
|
||||
notify({ type: 'error', message: t('common.fileUploader.uploadDisabled') })
|
||||
return
|
||||
}
|
||||
if (!isAllowedFileExtension(file.name, file.type, fileConfig.allowed_file_types || [], fileConfig.allowed_file_extensions || [])) {
|
||||
notify({ type: 'error', message: `${t('common.fileUploader.fileExtensionNotSupport')} ${file.type}` })
|
||||
return
|
||||
|
|
@ -298,30 +303,16 @@ export const useFile = (fileConfig: FileUpload) => {
|
|||
false,
|
||||
)
|
||||
reader.readAsDataURL(file)
|
||||
}, [checkSizeLimit, notify, t, handleAddFile, handleUpdateFile, params.token, fileConfig?.allowed_file_types, fileConfig?.allowed_file_extensions])
|
||||
}, [checkSizeLimit, notify, t, handleAddFile, handleUpdateFile, params.token, fileConfig?.allowed_file_types, fileConfig?.allowed_file_extensions, fileConfig?.enabled])
|
||||
|
||||
const handleClipboardPasteFile = useCallback((e: ClipboardEvent<HTMLTextAreaElement>) => {
|
||||
const file = e.clipboardData?.files[0]
|
||||
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, fileConfig, notify, t])
|
||||
}, [handleLocalFileUpload])
|
||||
|
||||
const [isDragActive, setIsDragActive] = useState(false)
|
||||
const handleDragFileEnter = useCallback((e: React.DragEvent<HTMLElement>) => {
|
||||
|
|
|
|||
|
|
@ -743,6 +743,7 @@ const translation = {
|
|||
pasteFileLinkInvalid: 'Invalid file link',
|
||||
fileExtensionNotSupport: 'File extension not supported',
|
||||
fileExtensionBlocked: 'This file type is blocked for security reasons',
|
||||
uploadDisabled: 'File upload is disabled',
|
||||
},
|
||||
tag: {
|
||||
placeholder: 'All Tags',
|
||||
|
|
|
|||
|
|
@ -747,6 +747,7 @@ const translation = {
|
|||
uploadFromComputerReadError: 'ファイルの読み取りに失敗しました。もう一度やり直してください。',
|
||||
fileExtensionNotSupport: 'ファイル拡張子はサポートされていません',
|
||||
pasteFileLinkInvalid: '無効なファイルリンク',
|
||||
uploadDisabled: 'ファイルアップロードは無効です',
|
||||
fileExtensionBlocked: 'このファイルタイプは、セキュリティ上の理由でブロックされています',
|
||||
},
|
||||
license: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue