aws s3 putObject error MissingRequiredParameter



我是AWS S3的新手,正在尝试通过他们的文档进行学习。我想通过putObject更新现有文件这里是我使用的代码

require("dotenv/config");
const express = require("express");
const multer = require("multer");
const AWS = require("aws-sdk");
const { v4: uuid } = require("uuid");
const app = express();
const port = 3000;
const s3 = new AWS.S3({
accessKeyId: process.env.AWS_ID,
secretAccessKey: process.env.AWS_SECRET,
});
const storage = multer.memoryStorage({
destination: function (req, file, callback) {
callback(null, "");
},
});
const upload = multer({ storage }).single("image");
app.put("/put", upload, (req, res, next) => {
console.log(req.file);
const params = {
ACL: "public-read-write",
Body: req.file.buffer,
Bucket: process.env.AWS_BUCKET_NAME,
Key: "1596718988482.jpg",
};
s3.putObject(
(params,
(err, data) => {
if (err) {
return res.status(500).send(err);
}
res.status(200).send(data);
})
);
});
app.listen(port, () => {
console.log(`Server is up at ${port}`);
});

但是我得到错误MissingRequiredParameter作为这个

"message": "There were 2 validation errors:n* MissingRequiredParameter: Missing required key 'Bucket' in paramsn* MissingRequiredParameter: Missing required key 'Key' in params",
"code": "MultipleValidationErrors",
"errors": [
{
"message": "Missing required key 'Bucket' in params",
"code": "MissingRequiredParameter",
"time": "2020-08-07T11:54:20.653Z"
},
{
"message": "Missing required key 'Key' in params",
"code": "MissingRequiredParameter",
"time": "2020-08-07T11:54:20.653Z"
}
],
"time": "2020-08-07T11:54:20.653Z"
}

Bucket和Key的名称是正确的,但我找不到是什么使它无效。我在这里检查了文档,但我无法解决它。你能帮我吗?

删除params前的括号s3.putObject((params,s3.putObject(params,

s3.putObject(params, (err, data) => {
if (err) {
return res.status(500).send(err);
}
res.status(200).send(data);
});

最新更新