Skip to content

Instantly share code, notes, and snippets.

@hectorgool
Created November 6, 2015 19:37
Show Gist options
  • Select an option

  • Save hectorgool/22b28829ec02d89a91ae to your computer and use it in GitHub Desktop.

Select an option

Save hectorgool/22b28829ec02d89a91ae to your computer and use it in GitHub Desktop.
/*
~/.aws/credentials
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
https://github.com/KDawg/S3DeployJS/blob/master/S3Deploy.js
*/
var AWS = require('aws-sdk');
var fs = require('fs');
AWS.config.update({region: 'us-west-2'});
var milliseconds = new Date().getTime();
var s3 = new AWS.S3();
var BUCKET_NAME = 'santix-repository';
function createBucket( bucketName ) {
s3.createBucket( {Bucket: bucketName}, function( err, response ) {
if ( err ){
throw err;
console.log( err );
}
else{
console.log('created the bucket[' + bucketName + ']');
console.log(arguments);
}
});
}
function uploadFile( remoteFilename, fileName ) {
var fileBuffer = fs.readFileSync(fileName);
var metaData = getContentTypeByFile(fileName);
var params = {
ACL: 'public-read',
Bucket: BUCKET_NAME,
Key: remoteFilename,
Body: fileBuffer,
ContentType: metaData
}
s3.putObject( params, function( err, response ) {
if ( err ){
throw err;
console.log( err );
}
else{
console.log('uploaded file[' + fileName + '] to [' + remoteFilename + '] as [' + metaData + ']');
console.log(arguments);
}
});
}
function getContentTypeByFile(fileName) {
var rc = 'application/octet-stream';
var fileNameLowerCase = fileName.toLowerCase();
if (fileNameLowerCase.indexOf('.html') >= 0) rc = 'text/html';
else if (fileNameLowerCase.indexOf('.css') >= 0) rc = 'text/css';
else if (fileNameLowerCase.indexOf('.json') >= 0) rc = 'application/json';
else if (fileNameLowerCase.indexOf('.js') >= 0) rc = 'application/x-javascript';
else if (fileNameLowerCase.indexOf('.png') >= 0) rc = 'image/png';
else if (fileNameLowerCase.indexOf('.jpg') >= 0) rc = 'image/jpg';
return rc;
}
uploadFile( 'santo' + milliseconds + '.jpg', 'santo.jpg' );
//createBucket('santix-repository');
console.log('s3');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment