Upload Handling Settings

When configuring your cloud storage you have a variety of options to control how uploads are handled by WordPress and Media Cloud.

Note that not all options are available for every storage provider. For example, Backblaze doesn’t allow you to set the privacy of your uploads.

Upload Privacy

By default, Media Cloud will upload your media to your storage provider and set the access of that upload to be publically readable. If this were set to private, your media would not be viewable and appear to be broken.

However, if you are using Imgix or a CDN that reads directly from your cloud storage (Amazon CloudFront in the case of Amazon S3), you can set the privacy to be authenticated-read which would mean the public would not be able to access it.

Advanced Upload Privacy

The Pro version of Media Cloud allows you to specify different upload privacy settings for different file types. When coupled with Advanced URL Pre-Signing, this allows you to setup a system where uploaded images are publicly available, but video or audio uploads are private and only served with expiring signed URLs. This is clutch for courseware type sites, or any sites where you want to limit access to certain types of files.

Cache Control

Setting the Cache Control and Content Expiration will control how this item is cached at the cloud storage provider level and beyond. For example, setting these will control how the end user’s browser will cache the media when they view it. It will also inform most CDNs that are reading the media how to cache it on their end.

Upload Path

This allows you to control the directory structure for your uploads. The default WordPress method is using the structure  year/month which isn’t granular enough for some use cases.

Media Cloud allows you to create dynamic upload file prefixes using tokens. For example, setting the upload file prefix to  @{date:Y/m/d} would yield upload directories that included the full date: 2019/12/26. The following prefixes are available:

  • @{date:format} – Uses the current date to create the prefix. You can use any format specifiers available to the PHP date() function.
  • @{site-name} – The current site’s name
  • @{site-host} – The current site’s domain/host
  • @{site-id} – The numeric ID of the site (when using WordPress multisite)
  • @{versioning} – Basically the timestamp of the upload. This is provided for Offload Media compatibility.
  • @{user-name} – The name of the current user
  • @{unique-id} – A unique identifier, note that this is unique for every upload.
  • @{type} – The file type, eg image, video, audio, doc.
  • @{unique-path} – A unique identifier split into two character paths. For example: /26/68/09/c7/c0/62/62/d4/

Upload Images / Video Files / Audio Files / Documents

These options allow you to control what actually will be uploaded to cloud storage.  For example, turning off everything except for Upload Documents would mean that only word documents or zip files would be uploaded to cloud storage.

Ignored MIME Types

If you don’t want certain file types to be uploaded to cloud storage, list their mime types here.

Delete Uploaded Files

This option will delete the file from your local storage after Media Cloud has transferred it to your Cloud Storage provider.

If you are using Dynamic Images, it’s recommended that this option be turned  off as Dynamic Images would have to download the image from cloud storage if it can’t find a local copy.

Queue Deletes

Turning this option on will queue the deletion of any files from your local storage to a later time.  This is handy if you have any other plugins that need to process the uploads.

Delete From Storage

When this option is enabled, Media Cloud will delete the file from your cloud storage provider when the file is deleted from the media library.