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:

bash
API: PutObject()
Time: 10:00:00 UTC
Error: Access Denied

Why This Happens

  1. 1.Bucket not found - Bucket doesn't exist
  2. 2.Access denied - Insufficient permissions
  3. 3.Network error - Cannot reach MinIO
  4. 4.File too large - Exceeds maximum size
  5. 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

CheckCommandExpected
Bucket existsmc lsListed
Permissionsmc policyAllowed
Networkcurl healthOK

Verify the Fix

bash
mc cp file.txt myminio/mybucket/
# Output: file.txt: 1.2 KiB / 1.2 KiB
  • [Fix MinIO Connection Refused](/articles/fix-minio-connection-refused)
  • [Fix MinIO Bucket Not Found](/articles/fix-minio-bucket-not-found)