Companion code for the direct-to-S3 uploads Node.js article on Heroku's Dev Center
HTML JavaScript
Switch branches/tags
Nothing to show



The files in this repository are, unless stated otherwise, released under the Apache License. You are free to redistribute this code with or without modification. The full license text is available here.

Direct-to-S3 uploads in a Node.js application running on Heroku

Simple example demonstrating how to accomplish a direct upload to Amazon's S3 in a Node.js web application.

This example uses the express web framework to facilitate request-handling. However, the process of signing the S3 PUT request would be identical in most Node apps.

This code is mostly ready to be run as cloned, but a function will need to be properly defined to handle the storing of the POSTed information. The current example simply demonstrates the upload to S3.

Dependencies and Installation

Ensure Node is installed. This can be done through your package manager or from their website.

Clone this repository:

$ git clone

Change directory into the application and use npm to install the application's dependencies:

$ cd NodeDirectUploader
$ npm install

Running the application

Deploying the application

See the article Deploying with Git for more detailed information on deploying to Heroku.

  • Download and install the Heroku toolbelt
  • Commit your application to a local Git repository (e.g. git init, git add ., git commit -m "version 1 commit", etc.)
  • Create the application on Heroku by adding a Git remote ($ heroku create)
  • Push your code to the new Heroku repo ($ git push heroku master)