【发布时间】:2017-04-24 04:00:41
【问题描述】:
我正在尝试将多个图像上传到 Amazon S3 并使用 Sails.js 框架。这是我的代码:
Fotos.ejs(是上传照片的视图):
<form enctype="multipart/form-data" id="frmFotos">
<input id="fotos" name="fotos" type="file">
<button type="submit" id="btnUpload">Upload</button>
</form>
Fotos.js(Ajax 调用上传)
$('#btnUpload').on('click',function(e){
e.preventDefault();
var formData=new FormData();
formData.append("fotos",$("#fotos")[0].files);
$.ajax({
url:"/upload",
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
})
FotoController.js(Sails.js 中的控制器,我使用 skipper-s3 上传文件)
module.exports = {
upload:function(req,res){
var aws={
adapter:require("skipper-s3"),
bucket:"mybucket",
key:"mykey",
secret:"mysecret"
};
req.file("fotos").upload({aws},function whenDone(error,fotos){
if(error)
{
console.log(error);
} else{
fotos.forEach(function(foto){
console.log(foto);
});
}
});
}
}
我认为还有一项额外的任务,因为我在 S3 的存储桶中看不到我的图像。我用一张图片测试了代码,效果很好。
【问题讨论】:
标签: javascript amazon-s3 sails.js