这可能会导致在使用 multer 和 next connect 上传文件时请求停滞"/>
API 在没有发送响应的情况下解决,这可能会导致在使用 multer 和 next connect 上传文件时请求停滞
API 工作正常,但我在控制台中收到此错误。 API 在未发送响应的情况下解析,这可能会导致请求停滞。 我在 next.js 中使用 multer 和 next-connect 进行文件上传,效果很好,但我也遇到了上述错误 这是我的代码
import db from "@/backend/config/db";
import Categories from "@/backend/model/category";
import { createRouter } from "next-connect";
import multer from "multer";
export const config = {
api: {
bodyParser: false, // Disallow body parsing, consume as stream
},
};
db().catch(() => res.status(405).json({ error: "Error in the Connection" }));
const router = createRouter();
const options = multer({
storage: multer.diskStorage({
destination: "./public/assets/images/categories",
filename: function (req, file, cb) {
// const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
// cb(null, file.fieldname + "-" + uniqueSuffix);
cb(null, file.originalname);
},
}),
fileFilter: (req, file, cb) => {
if (file.mimetype.match(/\/(jpg|jpeg|png)$/)) {
cb(null, true);
} else {
cb(res.status(400).json({ error: "image type is not supported" }));
}
},
});
const uploadCategoryImage = options.single("image");
router.use(uploadCategoryImage).post(async (req, res) => {
await Categories.create({ ...req.body, image: req.file.filename }).then(
(data) => {
res.status(200).json({
code: 200,
status: "Success!",
message: "category created successfully",
data: data,
});
}
);
});
export default router.handler({
onError(error, req, res) {
res
.status(501)
.json({ error: `Sorry something Happened! ${error.message}` });
},
onNoMatch(req, res) {
res.status(405).json({ error: `Method '${req.method}' Not Allowed` });
},
});
请建议我好的答案
回答如下:更多推荐
API 在没有发送响应的情况下解决,这可能会导致在使用 multer 和 next connect 上传文件时请求停滞
发布评论