You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A React component for uploading multiple files simultaneously to a UiPath Orchestrator Storage Bucket. Built on Apollo Wind's FileUpload component with drag-and-drop support, per-file error tracking, and partial success handling.
Component Structure
Main Component
MultiFileUpload (MultiFileUpload.tsx) - Single functional component that orchestrates the entire upload workflow. No custom hooks or services — all logic is self-contained.
Props
Prop
Type
Required
Description
sdk
UiPath
Yes
UiPath SDK instance
bucketId
number
Yes
Orchestrator Storage Bucket ID
folderId
number
Yes
Folder containing the bucket
accept
string
No
File type filter (MIME types or extensions)
maxFileSizeInMb
number
No
Maximum file size in megabytes
path
string
No
Path prefix for uploaded files
onUploadError
(error: Error) => void
No
Error callback
onUploadSuccess
(uploadedFiles: File[]) => void
No
Success callback
Data Flow
Upload Workflow
File Selection (drag-and-drop or file picker)
→ handleFilesChange() updates files state, clears errors
→ User clicks "Upload Files"
→ uploadFiles()
→ Validates not already uploading
→ Processes path (ensures trailing "/")
→ Promise.allSettled() uploads all files concurrently
→ BucketService.uploadFile({ bucketId, folderId, path, content })
→ Per-file result handling:
├→ All success → clear files, show success message, onUploadSuccess callback
├→ Partial success → onUploadSuccess with successful files, retain failed files
└→ All failed → onUploadError callback, retain all files for retry
→ Clear button → resets all state, increments fileUploadKey to force remount