php - 将多个文件上传到 Amazon S3
问题描述
我需要有关如何在 Amazon S3 上上传多个文件的帮助。所以基本上我有三个用于文件上传的输入字段,两个输入将拍摄 10-20 张图片,最后一个输入只有一张图片,并在提交表单时将它们上传到 Amazon S3。
我用于上传图片的表单:
我有一个存储桶和所有东西,我需要某种将多个图像上传到 Amazon S3 的解决方案。
我使用 PHP 作为我的后端,现在,提交表单时,图像存储在主机上。但是我每个月都会上传超过 150gb 的图片,我需要 S3 来托管这些图片。
当我将表单与 Amazon S3 连接并尝试上传多个图像时,我收到此消息“POST 要求每个请求仅上传一个文件。”。
解决方案
这是 NodeJS 代码,它将让您了解如何上传所有文件,然后在上传完成后将响应发送回 UI。
我正在使用 Promise 和 promise.all() 方法来解决所有的 Promise。
我还在为 Node.JS 使用 multer,它处理我从 UI 收到的文件。
app.post('/uploadMultipleFiles',upload.array('file', 10),function(req,res){
var promises=[];
for(var i=0;i<req.files.length;i++){
var file = req.files[i];
promises.push(uploadLoadToS3(file));
}
Promise.all(promises).then(function(data){
res.send('Uploadedd');
}).catch(function(err){
res.send(err.stack);
})
})
function uploadLoadToS3(ObjFile){
var params={
ACL :'public-read',
Body : new Buffer(ObjFile.buffer),
Bucket:'ascendon1',
ContentType:ObjFile.mimetype,
Key:ObjFile.originalname
}
return s3.upload(params).promise();
}
推荐阅读
- python - 加载模型 pyspark
- r - 如何创建计划目标以交叉先前地图目标的结果和新变量?
- text - 如何在 ModalRoute 上设置状态()?
- c# - 通过 nuget 安装时引用 Bootstrap 的问题
- java - 我们可以在 eclipse plugin_customization.ini 文件中保留 2 个或更多 org.eclipse.ui/KEY_CONFIGURATION_ID
- python - 如何检查数组中每个项目的while循环中的参数?
- java - 创建将不同的唯一字符串值映射到具有指定范围的唯一整数值
- python - Django 和时区,一天的开始:我应该在我的函数中 make_aware() 一次还是两次?
- java - Log4j2 不登录到日志文件
- jquery - 使用 Web api 查询获取 Dynamics-CRM 中的实体属性值