# exo storage upload
### Description

This command uploads local files to a bucket.

Examples:

    # Upload files at the root of the bucket
    exo storage upload a b c sos://my-bucket

    # Upload files in a directory (trailing "/" in destination)
    exo storage upload index.html sos://my-bucket/public/

    # Upload a file under a different name
    exo storage upload a.txt sos://my-bucket/z.txt

    # Upload a directory recursively
    exo storage upload -r my-files/ sos://my-bucket


```
exo storage upload FILE... sos://BUCKET/[PREFIX/] [flags]
```

### Options

| Option | Description |
|---------|------------|
|`--acl` | canned ACL to set on object (private\|public-read\|public-read-write\|authenticated-read\|aws-exec-read\|bucket-owner-read\|bucket-owner-full-control) |
|`--dry-run, -n` | simulate files upload, don&#39;t actually do it |
|`--help, -h` | help for upload |
|`--recursive, -r` | upload directories recursively |


### Options inherited from parent commands

| Option | Description |
|---------|------------|
|`--config, -C` | Specify an alternate config file [env EXOSCALE_CONFIG] |
|`--output-format, -O` | Output format (table\|json\|text), see &#34;exo output --help&#34; for more information |
|`--output-template` | Template to use if output format is &#34;text&#34; |
|`--quiet, -Q` | Quiet mode (disable non-essential command output) |
|`--timeout` | Per-zone timeout for list operations; -1s disables timeout [env EXOSCALE_TIMEOUT] |
|`--use-account, -A` | Account to use in config file [env EXOSCALE_ACCOUNT] |


### Related Commands

* [storage]({{< ref "../storage">}})	 - Object Storage management


