[英]Upload a file to AWS S3 using node js and Postman
我是AWS的新手,并试图弄清楚如何使用AWS S3 API( http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html )上传文件,自己的API。
我可以创建一个存储桶,并获取所有存储桶的列表,但是我正在努力上传文件。
这是通过代码:
router.post('/upload', function(req, res, next) {
var params = {
Bucket: req.body.bucketName,
Key: req.body.key,
Body: req.body.body
}
s3.putObject(params, function(err, data) {
if (err) {
return next(err)
} else {
res.json(data)
}
})
})
因此,当我运行服务器时,我尝试使用邮递员向localhost:8080/upload
发出以下请求:附加文件,密钥和主体-但我认为这部分做错了。
而且我还附加了文件:
问题是:
我是否正确理解以下内容: Bucket
=我要上传到的桶名称, Key
=文件名, Body
=文件内容?
如果是,如何将其上传到S3存储桶,就像当前代码一样,我将添加到s3的文件名为text.txt
,其内容为heello
而不是test.txt
文件。
您是否要正确上传文件? 因此,您应该使用multipart / form-data内容类型,并且在正文中您可以指向文件缓冲区。
就我而言,我大摇大摆地使用:
upload: (req, res) => {
const params = {
Bucket: 'bucket-name',
Key: req.swagger.params.file.value.originalname,
ACL: 'public-read',
Body: req.swagger.params.file.value.buffer
};
s3.putObject(params, function(err, data) {
if (err) {
console.log('Error uploading image: ', err);
res.status(500).json().end();
} else {
res.status(200).json('File is uploaded').end();
}
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.