相关疑难解决方法(0)

如何使用meteor将图像从FileReader上传到Amazon s3

我试图用流星建立一个图像上传到亚马逊S3.感谢Hubert OG,我发现AWS-SDK让事情变得简单.

我的问题是上传的数据似乎已损坏.当我下载文件时,文件可能已损坏.可能是这样的.

将数据插入到图像src中,确实有效,并且图像的预览显示为预期,因此原始文件以及可能的数据是正确的.

我正在使用FileReader加载文件,而不是将结果数据传递给AWS-SDK putObject方法.

        var file=template.find('[type=file]').files[0];
        var key="uploads/"+file.name;

        var reader=new FileReader();
        reader.onload=function(event){
            var data=event.target.result;
            template.find('img').src=data;
            Meteor.call("upload_to_s3",file,"uploads",reader.result);
        };

        reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)

这是服务器上的方法:

    "upload_to_s3":function(file,folder,data){
        s3 = new AWS.S3({endpoint:ep});
        s3.putObject(
            {
                Bucket: "myportfoliositebucket",
                ACL:'public-read',
                Key: folder+"/"+file.name,
                ContentType: file.type,
                Body:data
            },
            function(err, data) {
                if(err){
                    console.log('upload error:',err);
                }else{
                    console.log('upload was succesfull',data);
                }
            }
        );
    }
Run Code Online (Sandbox Code Playgroud)

amazon-s3 filereader meteor

8
推荐指数
1
解决办法
2417
查看次数

标签 统计

amazon-s3 ×1

filereader ×1

meteor ×1