我正在尝试使用下一个 js 和 multer 上传文件。我使用与 aws s3 sdk 兼容的 digitalOcean 空间:
这是我的 s3 配置:
const spacesEndpoint = new aws.Endpoint("fra1.digitaloceanspaces.com");
const s3 = new aws.S3({
endpoint: spacesEndpoint,
accessKeyId: process.env.SPACES_KEY_ID,
secretAccessKey: process.env.SPACES_KEY_SECRET,
});
这是 multer 配置:
const upload = multer({
storage: multerS3({
s3: s3,
bucket: "pdf",
acl: "public-read",
key: function (req, file, cb) {
console.log("file", file);
try {
cb(null, file.originalname);
} catch (err) {
console.log(err);
}
},
}),
}).array("files");
我自己也调用 multer 来捕捉 multer 文档所说的错误,但我得到参考错误“err is not defined”
apiRoute.post((req, res) => {
console.log(req.body);
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
// A Multer error occurred when uploading.
} else if (err) {
// An unknown error occurred when uploading.
}
// Everything went fine.
});
res.status(200).json({ data: "success" });
});
我也可以发布一个代码,我正在对 api 路由进行 axios 调用,但现在我只想从服务器查看比 500 状态代码响应更多的信息
这是我得到的唯一错误:错误:请求失败,状态码为 500