All Products
Search
Document Center

Object Storage Service:Methods for uploading objects to OSS

Last Updated:May 27, 2026

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 PutObject API 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, and CompleteMultipartUpload in 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 AppendObject API. 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 uploadFile method 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.