Next.js API路由中出现正文超过1MB限制错误

Body exceeded 1mb limit error in Next.js API route(Next.js API路由中出现正文超过1MB限制错误)

本文介绍了Next.js API路由中出现正文超过1MB限制错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我在Next.js上使用FormData将图像上载到服务器,我总是收到此错误。

我尝试了很多,但没有解决这个问题。

我的代码:

const changeValue = (e) => {
if (e.target.name === "avatar") {
      const file = e.target.files[0];
      const formData = new FormData();
      formData.append("image", file, file.name);
      try {
        const config = {
          Headers: {
            "Content-Type": "multipart/form-data",
          },
        };
        axios
          .post("/api/upload", formData, config)
          .then((res) => {
            setAvatar(res.data);
            setAvatarPreview(res.data);
          })
          .catch((err) => {
            console.log(err.message);
          });
      } catch (err) {
        console.log(err);
      }
    } 
}

推荐答案

Body解析器的默认大小限制为1mb。您可以通过API路由导出的custom config object修改该值。

// /pages/api/upload.js

export const config = {
    api: {
        bodyParser: {
            sizeLimit: '4mb' // Set desired value here
        }
    }
}

请注意,API路由正文大小有限制,详情请参阅How to override the 4mb API Routes body size limit?。

这篇关于Next.js API路由中出现正文超过1MB限制错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Next.js API路由中出现正文超过1MB限制错误

基础教程推荐