Skip to content

Instantly share code, notes, and snippets.

@vinioliveira
Created July 3, 2014 14:26

Revisions

  1. vinioliveira created this gist Jul 3, 2014.
    48 changes: 48 additions & 0 deletions aws.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,48 @@
    var AWS = require('aws-sdk');
    AWS.config.loadFromPath('./aws.json');
    console.log('KEY: '+ process.env.AWS_SECRET_ACCESS_KEY);
    console.log('ACCESS: '+ process.env.AWS_ACCESS_KEY_ID);

    var s3 = new AWS.S3();
    s3.listBuckets(function(err, data) {
    for (var index in data.Buckets) {
    var bucket = data.Buckets[index];
    console.log("Bucket: ", bucket.Name, ' : ', bucket.CreationDate);
    }
    });

    var nameFile = '/Users/vinioliveira/Desktop/filme.png';
    var file = require('fs').readFileSync(nameFile);
    var metaData = getContentTypeByFile(nameFile);
    var key = 'new_upload.png';

    var params = {Bucket: 'dennuci', Key: key};

    s3.putObject({
    ACL : 'public-read',
    Bucket : 'dennuci' ,
    Key : key,
    Body : file,
    ContentType : metaData
    }, function(error, resp) {
    console.log(arguments);
    console.log(resp);
    });

    s3.getSignedUrl('getObject', params , function (err, url) {
    console.log("The URL is", url);
    });

    function getContentTypeByFile(fileName) {
    var rc = 'application/octet-stream';
    var fn = fileName.toLowerCase();

    if (fn.indexOf('.html') >= 0) rc = 'text/html';
    else if (fn.indexOf('.css') >= 0) rc = 'text/css';
    else if (fn.indexOf('.json') >= 0) rc = 'application/json';
    else if (fn.indexOf('.js') >= 0) rc = 'application/x-javascript';
    else if (fn.indexOf('.png') >= 0) rc = 'image/png';
    else if (fn.indexOf('.jpg') >= 0) rc = 'image/jpg';

    return rc;
    }