OSS accepts any file type — images, documents, videos, and more. Upload objects one at a time or in bulk using the method that best fits your file size, network conditions, and upload source.
Upload methods
OSS provides six upload methods. Choose based on file size, network conditions, and who initiates the upload.
|
Method |
Max size |
Best for |
|
Simple upload |
5 GB |
Small files on a stable connection |
|
Multipart upload |
48.8 TB |
Large files that benefit from parallel uploads |
|
Append upload |
5 GB per append |
Streaming data written incrementally |
|
Resumable upload |
48.8 TB |
Large files over unstable networks |
|
Form-based upload |
5 GB |
Browser-based uploads from an HTML page |
|
Presigned URL upload |
Less than 5 GB |
Third-party uploads without exposing AccessKey pairs |
Simple upload: Upload files up to 5 GB with a single
PutObjectAPI call. No configuration needed. Use this for routine uploads where file size and network stability are not a concern.Multipart upload: Upload files up to 48.8 TB by splitting them into parts and uploading in parallel. Call
InitiateMultipartUpload,UploadPart, andCompleteMultipartUploadin sequence; OSS assembles the parts into a single object. If the upload is interrupted, the client records which parts failed and retries only those. Use this for large files where parallel throughput matters.Append upload: Append data to an existing object using the
AppendObjectAPI. Each append can be up to 5 GB. Appended data is immediately readable. Use this for video streams or log files where content grows continuously. Only appendable objects support this method.Resumable upload: Upload files up to 48.8 TB over unreliable connections. OSS SDKs — such as the
uploadFilemethod in OSS SDK for Java — automatically checkpoint progress so the upload resumes from where it stopped. Use this instead of multipart upload when network interruptions are likely and you want automatic recovery without client-side retry logic.Form upload: Let users upload objects up to 5 GB directly from an HTML page via HTTP POST. A server-generated policy controls upload constraints such as object size and type. Use this for web applications where the browser initiates the upload.
Object uploads by using presigned URLs: Grant third parties permission to upload objects less than 5 GB without sharing your AccessKey pair. Generate a presigned URL with a defined expiry window; the URL becomes invalid automatically after it expires. Use this when you need time-limited, delegated upload access.
Related features
Use the upload progress bar in OSS SDKs to display upload progress and estimated time remaining. For more information, see Upload progress bar.
Trigger a callback to your application server after an upload using upload callbacks. For more information, see Upload callbacks.
To control caching, downloading, and processing behavior, set object metadata — including standard HTTP headers such as Content-Type — at upload time. For more information, see Manage object metadata.
Upload files directly from your client to OSS to reduce application server load and improve upload speed. For more information, see Overview.
For image operations such as watermarking, format conversion, and metadata queries, see Image processing methods.
For video transcoding and frame capture after upload, see Audio and video processing.
For online preview and editing of PowerPoint and Word documents, see WebOffice online preview and WebOffice online editing.
To share an uploaded object with third parties, add signature information to the object URL and distribute the signed URL. For more information, see Using presigned URLs to download or preview files.