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

本教程将介绍Next.js API路由中出现正文超过1MB限制错误的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

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

问题描述

如果我在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限制错误的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。