Use this guide to diagnose and fix upload and download failures in Object Storage Service (OSS). Work through the checks in order — most failures are resolved by steps 1–3.
Troubleshoot upload failures
1. Check network connectivity
Run ping against your OSS endpoint to confirm the local client can reach OSS. Fix any network issues before proceeding.
2. Check the object size limit
The maximum object size depends on the upload method:
| Upload method | Maximum object size |
|---|---|
| OSS console, simple upload, form upload, append upload | 5 GB |
| Multipart upload | 48.8 TB |
If your object exceeds 5 GB, switch to multipart upload. See How do I upload large objects to OSS?
3. Check permissions
If you are uploading as a Resource Access Management (RAM) user, verify the user has upload permissions on the target bucket:
Log on to the RAM console. In the left-side navigation pane, choose Identities > Users, then click the RAM user's name.
Click the Permissions tab and confirm the user has upload permissions on the bucket or object.
If the RAM user lacks the required permissions, ask your administrator to grant them. See Configure bucket policies to authorize other users to access OSS resources.
4. Check your upload configuration
If you are using an OSS SDK, verify these settings:
Endpoint: Make sure the endpoint matches the region where the bucket is located. For example, a bucket in the China (Hangzhou) region uses the public endpoint
oss-cn-hangzhou.aliyuncs.com. For all endpoints, see OSS domain names.Note: To access buckets in multiple regions, create a separate OSSClient instance for each region, each with its own regional endpoint. For endpoints by region and network type, see Access OSS via a bucket domain name.
AccessKey ID and AccessKey secret: Confirm both values in your code are correct.
Bucket name and object name: Confirm both names are valid:
Resource Rules Bucket name 3–63 characters; lowercase letters, digits, and hyphens ( -) only; must start and end with a lowercase letter or digitObject name 1–1,023 bytes; UTF-8 encoded; cannot start with /or\For full naming rules, see Terms.
If you are using an OSS tool, check the tool's supported scenarios and limits in OSS tools. ossutil is the recommended tool for most upload scenarios. See ossutil overview.
5. Consult issue-specific guides
If the steps above do not resolve the issue, see the relevant guide:
What do I do if the speed is slow when I upload objects to or download objects from OSS?
How do I fix the "Image has no exif info" error reported for an EXIF information query?
What do I do if the "Connect to oss failed: \[Errno -2\] Name or service not known" error appears?
What do I do if an object uploaded to OSS via MemoryStream in OSS SDK for .NET has a size of zero?
What do I do if OSS returns the "OSS Transfer Acceleration is not configured on this bucket" error?
Troubleshoot download failures
1. Check network connectivity
Run ping against your OSS endpoint. Fix any network issues before proceeding.
2. Check the download limit
The OSS console supports downloading up to 100 objects at a time. To download more objects, use ossutil or ossbrowser.
3. Check permissions and configuration
Follow the same steps as Check permissions and Check your upload configuration above.
4. Use resumable download
For large objects or unreliable network conditions, use a tool that supports resumable download:
ossutil with the cp command
5. Consult issue-specific guides
Upload methods
Choose an upload method based on your object size and use case:
| Method | Max size | Best for |
|---|---|---|
| Simple upload | 5 GB | Single-request uploads via a single HTTP PUT |
| Form upload | 5 GB | HTML form-based uploads (PostObject) |
| Multipart upload | 48.8 TB | Large objects, resumable uploads, concurrent part uploads, or streaming uploads of unknown size |
| Append upload | — | Appending content to an existing appendable object |
| Direct client upload | — | Uploading directly from a client to OSS without routing through an application server |
| Stream ingest over RTMP | — | H.264 video and AAC audio streams; on-demand playback or latency-insensitive livestreaming |
For a full comparison, see Overview.