Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Upload files to s3 from the client
JavaScript HTML Makefile
branch: master
Failed to load latest commit information.
test Update index.js
.gitignore Initial commit
.npmignore Initial commit
History.md Release 1.0.0
Makefile Initial commit
Readme.md add policy support
component.json Release 1.0.0
index.js Add `protocol` option to prevent "Mixed content" error in Firefox
package.json Release 1.0.0

Readme.md

s3

S3 client upload library.

Installation

$ component install component/s3

Config

An S3 global must be initialized with some configuration:

  • policy - the base64 json policy
  • signature - the policy signature
  • bucket the bucket name
  • acl ACL such as "public-read"
  • key access key

Example

var Upload = require('s3');
var drop = require('drop-anywhere');

drop(function(err, drop){
  if ('upload' != drop.type) return;
  var file = drop.item.file;
  console.log('upload %s', file.name);
  var uid = Math.random() * 1e10 | 0;
  var upload = Upload(file, { name: uid })

  var prog = document.querySelector('#progress');
  upload.on('progress', function(e){
    prog.textContent = (e.percent | 0) + '%';
  });

  upload.end(function(err){
    if (err) throw err;
    console.log('upload complete %s', upload.name);
    console.log(upload.url);
  });
});

API

Upload(options)

  • name remote filename or file.name
  • type content-type or file.type

Events:

  • abort upload was aborted
  • progress upload in progress (e.percent etc)
  • end upload is complete

Testing

First populate ./config.json with your credentials:

{
  "key": "asdfasdfasdfasdf",
  "secret": "asdfasdfasdfasdfasdfadsfasfdsfdasdf+fHgg",
  "bucket": "files.example.com"
}

Boot the test server:

$ node test

License

MIT

Something went wrong with that request. Please try again.