VMG S3 Direct Upload - Amazon S3 uploader using CORS and jQuery
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
system/expressionengine/third_party/vmg_s3_direct_upload
themes/third_party/vmg_s3_direct_upload
README.md

README.md

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.

Installation

  • 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

Usage

<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>http://0.0.0.0:3000</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>
//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";

Compatibility

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+.

Warranty/License

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.

Roadmap

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