VMG S3 Direct Upload - Amazon S3 uploader using CORS and jQuery
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


VMG S3 Direct Uplaod

Screenshot of VMG S3 Direct Upload

An Amazon S3 direct upload tool that utilizes jQuery file upload and CORS and supports batch uploading directly to S3 thereby bypassing any memory, upload, and other server-side limits.

This add on comes in the form of a field type and an EE control panel interface.

One main use of this is to upload large files to S3 when otherwise you would run into memory, upload, and other server-side limits.

Warning: If you are attempting to upload many large files to S3 at once, you might run into an issue where ExpressionEngine will log you out which will interrupt a S3 upload.


  • Upload ee2/third_party/vmg_s3_direct_upload to system/expressionengine/third_party
  • Upload themes/third_party/vmg_s3_direct_upload to themes/third_party
  • Install the fieldtype by going to Add-Ons → Fieldtypes
  • Ensure that both the Fieldtype and Module are installed


//VMG S3 Direct Upload Settings
$config['vmg_s3_bucket_name']       = "super-cool-bucket";
$config['vmg_s3_access_key_id']     = "S3AccessKeyId";
$config['vmg_s3_access_key_secret'] = "S3AccessSecretHash";
//not required config items
$config['vmg_s3_acl']                  = "private";
$config['vmg_s3_storage_class']        = "STANDARD";


We've tested this with different ExpressionEngine Versions 2.5.5 and above and haven't found any issues, but let us know if you find anything it doesn't work with. It'd be helpful to supply relevant version numbers.

VMG S3 Direct Upload requires ExpressionEngine 2.5.0+ and PHP 5.3+.


There's no warranty of any kind. If you find a bug, please report it or submit a pull request with a fix. It's provided completely as-is; if something breaks, you lose data, or something else bad happens, the author(s) and owner(s) of this add-on are in no way responsible.

This add-on is owned by Vector Media Group, Inc. You can modify it and use it for your own personal or commercial projects, but you can't redistribute it.


Feature requests welcome, and pull requests are even better ;)

  • If using the Assets Module upon completion of a uploading object, run a re-index on Assets so that file will be visible from the Assets module
  • Upload to a particular folder on S3 or upload to a folder destination that is created on the fly
  • If the file already exists on S3 and an upload is attempted, some kind of notice that the file already exists