gary
6/28/2016 - 10:55 AM

imageupload.js


// 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');
});