Strapi API文件上传过大报错:如何修改Body-Parser文件大小限制?
解决Strapi上传文件过大的问题
别担心,我刚帮几个朋友解决过类似的问题,Strapi虽然封装了底层的Express,但修改文件上传限制的方法其实很清晰,分版本给你详细说明:
Strapi v4 版本(当前主流)
你需要调整两个核心配置,确保中间件和上传插件都支持更大的文件:
修改body解析中间件的限制
打开项目根目录下的config/middlewares.js,找到strapi::body这个中间件,添加或更新它的配置参数:module.exports = [ // 保留其他默认中间项 { name: 'strapi::body', config: { jsonLimit: '50mb', // 允许JSON格式请求体最大50MB formLimit: '50mb', // 表单编码请求体最大50MB textLimit: '50mb', // 纯文本请求体最大50MB }, }, // 其他中间件... ];调整上传插件的文件尺寸限制
打开config/plugins.js(如果没有就新建这个文件),配置upload插件的最大允许文件大小:module.exports = ({ env }) => ({ upload: { config: { provider: 'local', // 如果你用S3等第三方存储,保持原配置即可 actionOptions: { upload: { maxFileSize: 50 * 1024 * 1024, // 单位为字节,这里设置为50MB }, uploadStream: { maxFileSize: 50 * 1024 * 1024, }, }, }, }, // 其他插件配置... });
Strapi v3 版本
如果你的项目是v3版本,修改方式更简洁:
打开 config/middleware.js,找到 settings 下的 bodyparser 配置块,调整限制值:
module.exports = { // 其他配置... settings: { bodyparser: { enabled: true, multipart: true, jsonLimit: '50mb', formLimit: '50mb', textLimit: '50mb', }, }, };
最后一步
修改完所有配置后,重启你的Strapi服务,新的限制规则就会生效了。你上传1MB的文件肯定没问题,甚至更大的文件也能正常支持。
内容的提问来源于stack exchange,提问作者Philipp Panik
相关产品推荐
相关产品推荐

