hoangvvo / next-connect

The TypeScript-ready, minimal router and middleware layer for Next.js, Micro, Vercel, or Node.js http/http2
https://www.npmjs.com/package/next-connect
MIT License
1.62k stars 65 forks source link

Not able to use multer as middleware #237

Open ABHI190701 opened 8 months ago

ABHI190701 commented 8 months ago
import { createRouter, expressWrapper, createEdgeRouter } from "next-connect";
import { NextApiRequest, NextApiResponse } from "next";
import { NextRequest, NextResponse } from "next/server";
import multer from "multer";
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "public/uploads");
  },
  filename: function (req, file, cb) {
    console.log("----FILE DETAILS----", file);
    const uniqueSuffix = Date.now();
    cb(null, uniqueSuffix + file.originalname);
  },
});

const upload = multer({ storage: storage }).single('image');

const router = createRouter<NextApiRequest, NextApiResponse>();

router.use(upload);
router.post(req) {
    return NextResponse.json({message: 'SUCCESS'})
  }

export default router.handler({
    onError: (err, req, res) => {
      console.error(err);
    },
  });