tnblog
首页
视频
资源
登录

.net core上传文件大文件问题,文件上传超长,文件太大

6868人阅读 2020/5/8 11:39 总访问:518435 评论:0 收藏:0 手机
分类: 架构

1. Request body too large 错误

Post的body大概超过30m就会报这个错误,完整的错误是Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Request body too large

解决的方法有二种,一种是在请求的函数前加Attribute

[RequestSizeLimit(266_000_000)]//限制266M左右
//[DisableRequestSizeLimit]  //或者取消大小的限制
public ActionResult DoUpLoad()
{

另外一种方法是全局增加请求body的大小或者不限body的大小。

public static IWebHost BuildWebHost(string[] args){
    var config = new ConfigurationBuilder()
    .AddCommandLine(args)
    .Build();
    return WebHost.CreateDefaultBuilder(args).UseConfiguration(config)
        .UseStartup<Startup>().UseKestrel(options =>
        {
          //所有controller都不限制post的body大小
            options.Limits.MaxRequestBodySize = null;
        })
        .Build();}

2. Nginx限制上传大小的错误

通过Nginx端口映射,请求会先经过Nginx,也需要额外再设置一个参数client_max_body_size,否则上传大文件也会有问题

location / {
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header Host $http_host;
   proxy_pass https://localhost:8882;
   client_max_body_size    266m; #最大接受266m文件以内的
}




欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价
如果有缘,错过了还会重来,如果无缘,相遇了也会离开
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术