node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Direct uploads to Amazon S3 via CORS.

First setup a CORS policy on your S3 bucket.


Create your form fields:

var s3cors = require('s3cors') 
var formFields = s3cors.create({
  "key": "AWS_KEY",
  "secret": "AWS_SECRET",
  "bucket": "AWS_BUCKET",
  "cal": "public-read",
  "region": "eu-west-1"

This will return a URL to post to (formFields.url) and a dictionary of values ( 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>
  {%{ %}
    <input type="hidden" name="{{ key }}" value="{{ formFields[key] }}">  
  {% }) %}

Tests: npm test

Install: npm install s3cors