我試圖用流星將圖像上傳器構建到Amazon S3。感謝Hubert OG,Ive發現了AWS-SDK,讓事情變得簡單。如何使用流星將圖像從FileReader上傳到Amazon s3
我的問題是,上傳的數據似乎是腐敗的。它說,當我下載文件時,該文件可能已損壞。可能是。
將數據插入圖像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);
,這是在服務器上的方法:
"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);
}
}
);
}
你是否能夠將文件對象傳遞給流星方法?我沒有定義。 – Ankita