Need help with NodeDirectUploader?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

223 Stars 108 Forks 26 Commits 5 Opened issues


Companion code for the direct-to-S3 uploads Node.js article on Heroku's Dev Center

Services available


Need anything else?

Contributors list

# 244,924
20 commits
# 172,757
Amazon ...
1 commit
# 501,431
1 commit



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 install the application's dependencies:

$ cd NodeDirectUploader
$ yarn

If you prefer

, then run
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 CLI
  • 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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.