Asp.Net Core中上传大文件及相关设置

作者 the7
发布于 2020年04月26日
评论 0
浏览 145

在Asp.Net Core中,上传文件时,默认情况下,大小限制为28mb左右。如果要上传更大的文件,可能会得到一个 Request body too large的错误,所以,如果要上传大文件,需要做一些设置与处理。

一,Action上打标签

此种方式仅针对该Action

[HttpPost]
[RequestFormLimits(MultipartBodyLengthLimit = 209715200)]
[RequestSizeLimit(209715200)]
public IActionResult Upload(IFormFile file)
{
     //业务代码
}

二,启动时全局配置

在program.cs中,配置 MaxRequestBodySize

public static IHostBuilder CreateHostBuilder(string[] args) =>
   Host.CreateDefaultBuilder(args)
   .ConfigureWebHostDefaults(webBuilder =>
    {
          webBuilder.UseStartup<Startup>()
                        .UseKestrel(options =>
                    {
                        options.Limits.MaxRequestBodySize = 209715200;
                    });
   });

在startup.cs中

services.Configure<FormOptions>(x =>
{
        x.MultipartBodyLengthLimit = 209715200;
});

IIS 中设置

注意,如果是在IIS中,可设置web.config

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="209715200" />
    </requestFiltering>
  </security>
</system.webServer>

4条评论

  • 念往昔丶繁华竞逐

    2019年5月20日

    最后一个五官很漂亮,虽然脸稍微大了一点点,但也算普通人里漂亮的
  • Eleven

    2019年5月20日

    念往昔丶繁华竞逐:
    最后一个五官很漂亮,虽然脸稍微大了一点点,但也算普通人里漂亮的...
    这帖子真的是精品。美中不足的是,为什么要用繁体,虽然能看懂,但有些麻烦呀。
  • SukiU

    2019年5月20日

    我曾在某外企互联网公司工作过一段时间,他们就是那种工作时间聊天摸鱼,下班时间拼命工作,然后加班蹭加班费和补贴😂
微信公众号
站长帮
微信公众号,每日更新!