mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 10:28:10 +08:00
perf: parallelize file uploads and add consistent drag validation
Use Promise.all for concurrent file uploads instead of sequential processing, improving upload performance for multiple files. Also add isFileDrag check to handleFolderDragOver for consistency with other drag handlers.
This commit is contained in:
@ -71,14 +71,16 @@ export function useFileDrop() {
|
|||||||
return
|
return
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (const file of files) {
|
await Promise.all(
|
||||||
await createFile.mutateAsync({
|
files.map(file =>
|
||||||
appId,
|
createFile.mutateAsync({
|
||||||
name: file.name,
|
appId,
|
||||||
file,
|
name: file.name,
|
||||||
parentId: targetFolderId,
|
file,
|
||||||
})
|
parentId: targetFolderId,
|
||||||
}
|
}),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
Toast.notify({
|
Toast.notify({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
|
|||||||
@ -62,7 +62,7 @@ export function useFolderFileDrop(node: NodeApi<TreeNodeData>): UseFolderFileDro
|
|||||||
}, [isFolder, scheduleAutoExpand])
|
}, [isFolder, scheduleAutoExpand])
|
||||||
|
|
||||||
const handleFolderDragOver = useCallback((e: React.DragEvent) => {
|
const handleFolderDragOver = useCallback((e: React.DragEvent) => {
|
||||||
if (!isFolder)
|
if (!isFolder || !isFileDrag(e))
|
||||||
return
|
return
|
||||||
handleDragOver(e, { folderId: node.data.id, isFolder: true })
|
handleDragOver(e, { folderId: node.data.id, isFolder: true })
|
||||||
}, [handleDragOver, isFolder, node.data.id])
|
}, [handleDragOver, isFolder, node.data.id])
|
||||||
|
|||||||
Reference in New Issue
Block a user