1

我正在尝试使用下一个 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

4

0 回答 0