What's Actually Happening
File uploads to MinIO object storage fail with errors. Objects cannot be stored in buckets.
The Error You'll See
```bash $ mc cp file.txt myminio/mybucket/
mc: <ERROR> Failed to copy file.txt. Bucket mybucket does not exist.
```
Or:
API: PutObject()
Time: 10:00:00 UTC
Error: Access DeniedWhy This Happens
- 1.Bucket not found - Bucket doesn't exist
- 2.Access denied - Insufficient permissions
- 3.Network error - Cannot reach MinIO
- 4.File too large - Exceeds maximum size
- 5.Bucket policy - Policy blocks upload
Step 1: Check Bucket Exists
```bash # List buckets: mc ls myminio/
# Create bucket: mc mb myminio/mybucket
# Check bucket: mc stat myminio/mybucket ```
Step 2: Check Permissions
```bash # Check policy: mc anonymous get myminio/mybucket
# Set policy: mc anonymous set download myminio/mybucket
# Check user permissions: mc admin user info myminio myuser ```
Step 3: Test Upload
```bash # Test with small file: echo "test" > test.txt mc cp test.txt myminio/mybucket/
# Check file: mc ls myminio/mybucket/ ```
MinIO Upload Checklist
| Check | Command | Expected |
|---|---|---|
| Bucket exists | mc ls | Listed |
| Permissions | mc policy | Allowed |
| Network | curl health | OK |
Verify the Fix
mc cp file.txt myminio/mybucket/
# Output: file.txt: 1.2 KiB / 1.2 KiBRelated Issues
- [Fix MinIO Connection Refused](/articles/fix-minio-connection-refused)
- [Fix MinIO Bucket Not Found](/articles/fix-minio-bucket-not-found)