自动将图像上传到s3

时间:2013-12-17 02:36:31

标签: javascript facebook angularjs amazon-s3

我有一个上传表单,目前正在用户选择他/她想要的头像/图片。但是现在我正在整合facebook api,并且在使用FB Javascript SDK成功注册后,我将必须将用户的facebook profile pic上传到我们的S3中。

<img src="https://fullpath/mypic.png" id="image"/>

我已经研究过将图像转换为blob或其他东西。 那么如何自动将mypic.png上传到我的s3?请任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

使用AWS JS SDK。

以下是入门指南:http://aws.amazon.com/developers/getting-started/browser/

一旦你完成角色设置,它实际上非常简单。

无需服务器端代码!

当然,您需要首先获取图像数据:

var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
canvas.width = 512;
canvas.height = 512;
context.drawImage(img, 0, 0, 512, 512);
var data = canvas.toDataURL('image/webp', 0.5); //webp and 50% compression

var params = {
  Key:Date.now().toString(), //example
  ContentType:'text/plain', //sending a base64 text string
  Body:data //the base64 string is now the body
};

bucket.putObject(params, function(err, data) { ... });

答案 1 :(得分:-1)

你不能从浏览器那样做,你需要一个服务器端脚本,它将接收你的上传并发送到s3。你在服务器端使用哪个框架?