Uploader
Upload files by clicking or drag-and-drop, it supports previewing the uploaded image.
Import
import { Uploader } from 'rsuite';
// or
import Uploader from 'rsuite/Uploader';Examples
Default
Picture
Picture & text
Avatar
Drag and drop
Initial file list
Custom file description
Disabled and read only
Manually
Controlled
File check
Props
              <Uploader>
              
            
| Property | Type (Default) | 
Description | 
|---|---|---|
| accept | string | File types that can be accepted. See HTML attribute: accept Attribute | 
| action * | string | Uploading URL | 
| autoUpload | boolean (true) | 
Automatically upload files after selecting them | 
| classPrefix | string ('uploader') | 
The prefix of the component CSS class | 
| data | Object | Upload the parameters with | 
| defaultFileList | FileType[] | List of uploaded files | 
| disableMultipart | boolean | If 'true', disable using a multipart form for file upload and instead stream the file. Some APIs (e.g. Amazon S3) may expect the file to be streamed rather than sent via a form | 
| disabled | boolean | Disabled upload button | 
| disabledFileItem | boolean | Disabled the file list | 
| draggable | boolean | Enabled drag and drop to upload. | 
| fileList | FileType[] | List of uploaded files (Controlled) | 
| fileListVisible | boolean(true) | 
The file list is visible | 
| headers | Object | Set Upload request Header | 
| listType | menu: 'text' , 'picture-text' , 'picture' ('text') | 
Upload list Style | 
| locale | UploaderLocaleType | Locale text | 
| maxPreviewFileSize | number (5242880) | 
Set the maximum limit for preview files | 
| multiple | boolean | Allow multiple file uploads to be selected at a time | 
| name | string ('file') | 
Upload the parameter name of the corresponding file | 
| onChange | (fileList: FileType[]) => void | callback function that the upload queue has changed | 
| onError | (reason: object, file: FileType) => void | Upload callback function with error | 
| onPreview | (file: FileType, event) => void | In the file list, click the callback function for the uploaded file | 
| onProgress | (percent: number, file: FileType) => void | Callback functions that upload progress changes | 
| onRemove | (file: FileType) => void | In the file list, click the callback function to delete a file | 
| onReupload | (file: FileType) => void | In the file list, for uploading failed files, click the callback function to upload | 
| onSuccess | (response: object, file: FileType) => void | callback function after successful upload | 
| onUpload | (file: FileType) => void | The callback function that starts the upload file | 
| removable | boolean (true) | 
Removable list file | 
| renderFileInfo | (file: FileType, fileElement: ReactNode) => ReactNode | Custom render file information | 
| renderThumbnail | (file: FileType, thumbnail: React.ReactNode) => React.ReactNode | Custom render thumbnail | 
| shouldQueueUpdate | (fileList: FileType[], newFile: FileType[] | FileType) => boolean | Promise<boolean> | Allow the queue to be updated. After you select a file, update the checksum function before the upload file queue, and return false to not update | 
| shouldUpload | (file:FileType ) => boolean | Promise<boolean> | Allow uploading of files. Check function before file upload, return false without uploading | 
| timeout | number | Set upload timeout | 
| toggleAs | ElementType ('button') | 
You can use a custom element for this component | 
| withCredentials | boolean | Whether to carry cookies when uploading requests | 
              ts:FileType
              
            
interface FileType {
  /** File Name */
  name?: string;
  /** File unique identifier */
  fileKey?: number | string;
  /** File upload status */
  status?: 'inited' | 'uploading' | 'error' | 'finished';
  /** File upload status */
  progress?: number;
  /** The url of the file can be previewed. */
  url?: string;
}