// http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property
// acl: "private"
// endpoint:"https://dentaliq-staging-uploads.s3-eu-west-1.amazonaws.com"
// key:"uploads/ee74a34c-e951-4776-8278-f1e8bbbba69a"
// policy:"eyJleHBpcmF0aW9uIjoiMjAxNi0wNi0yN1QyMToyNjoxNVoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJkZW50YWxpcS1zdGFnaW5nLXVwbG9hZHMifSx7ImtleSI6InVwbG9hZHMvZWU3NGEzNGMtZTk1MS00Nzc2LTgyNzgtZjFlOGJiYmJhNjlhIn0seyJzdWNjZXNzX2FjdGlvbl9zdGF0dXMiOiIyMDEifSx7ImFjbCI6InByaXZhdGUifSx7IngtYW16LWNyZWRlbnRpYWwiOiJBS0lBSU1GSkFXTVBNQkNEMk1PUS8yMDE2MDYyNy9ldS13ZXN0LTEvczMvYXdzNF9yZXF1ZXN0In0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJ4LWFtei1kYXRlIjoiMjAxNjA2MjdUMjAyNjE1WiJ9XX0="
// success_action_status:"201"
// x-amz-algorithm:"AWS4-HMAC-SHA256"
// x-amz-credential:"AKIAIMFJAWMPMBCD2MOQ/20160627/eu-west-1/s3/aws4_request"
// x-amz-date:"20160627T202615Z"
// x-amz-signature:"407700d7e9d772e79f47257490cdba1345fdfbf74d5727dbaf746d64bb16a853"
// curl -X PUT -T "${file}" \
// -H "Host: ${bucket url without protocol}" \
// -H "Date: ${x-amz-date}" \
// -H "Content-Type: ${contentType}" \
// -H "Authorization: AWS ${aws access key}:${x-amz-signature}" \
// ${bucket url with protocol}/${key}
//http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property
var s3CredentialsStaging = {
"key": "AKIAIX2OEVV4N23M43LQ",
"secret": "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",
//"bucket": "staging.dentaliq.co.uk",
"region": "eu-west-1"
};
AWS.config.update({
accessKeyId: s3CredentialsStaging.key,
secretAccessKey:s3CredentialsStaging.secret
});
AWS.config.region = s3CredentialsStaging.region;
var bucket = new AWS.S3({ params: { Bucket: 'dentaliq-staging-uploads' } });
var params = {
Key: pData.key,
//Key: $scope.file.name,
ContentType: $scope.file.type,
Body: $scope.file,
ServerSideEncryption: 'AES256',
};
bucket.putObject(params, function(err, data) {
if(err) {
console.log('---> err: ', err.message, data);
return false;
}
else {
// Success!
console.log('Upload Done', data);
}
}).on('httpUploadProgress',function(progress) {
// Log Progress Information
console.log(Math.round(progress.loaded / progress.total * 100) + '% done');
});