##s3cors
###Direct uploads to Amazon S3 via CORS.
First setup a CORS policy on your S3 bucket.
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Create your form fields:
var s3cors = require('s3cors')
var formFields = s3cors.create({
"key": "AWS_KEY",
"secret": "AWS_SECRET",
"bucket": "AWS_BUCKET",
"acl": "public-read",
"region": "eu-west-1"
})
This will return a URL to post to (formFields.url) and a dictionary of values (formFields.data) to append to your upload form. In your html the file input field must be named "file".
<form action="{{ formFields.url }}" method="POST">
<input type="file" name="file"></imput>
{% formFields.data.forEach(function(key){ %}
<input type="hidden" name="{{ key }}" value="{{ formFields[key] }}">
{% }) %}
</form>
Tests: npm test
Install: npm install s3cors