S3 client upload library.
$ component install component/s3
An S3
global must be initialized with some configuration:
policy
- the base64 json policysignature
- the policy signaturebucket
the bucket nameacl
ACL such as "public-read"key
access key
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);
});
});
name
remote filename orfile.name
type
content-type orfile.type
Events:
abort
upload was abortedprogress
upload in progress (e.percent
etc)end
upload is complete
First populate ./config.json
with your credentials:
{
"key": "asdfasdfasdfasdf",
"secret": "asdfasdfasdfasdfasdfadsfasfdsfdasdf+fHgg",
"bucket": "files.example.com"
}
Boot the test server:
$ node test
MIT