亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決ASP.NET Core Mvc文件上傳限制問(wèn)題實(shí)例

 更新時(shí)間:2016年11月30日 08:42:29   作者:YOYOFx  
本篇文章主要介紹了解決ASP.NET Core Mvc文件上傳限制問(wèn)題,具有一定的參考價(jià)值,有需要的可以了解一下。

一、簡(jiǎn)介

在ASP.NET Core MVC中,文件上傳的最大上傳文件默認(rèn)為20MB,如果我們想上傳一些比較大的文件,就不知道怎么去設(shè)置了,沒(méi)有了Web.Config我們應(yīng)該如何下手呢?

二、設(shè)置上傳文件大小

1.應(yīng)用程序級(jí)別設(shè)置

我們需要在 ConfigureServices方法中添加如下代碼,設(shè)置文件上傳的大小限制為60 MB。

public void ConfigureServices(IServiceCollection services)
{
  servicesConfigure<FormOptions>(options =>
  {
    optionsMultipartBodyLengthLimit = 60000000;
  });
}

2.Action級(jí)別設(shè)置

除了上面對(duì)全局進(jìn)行設(shè)置外,我們也可以通過(guò)自定義Filter的方式,對(duì)單個(gè)Action進(jìn)行控制,F(xiàn)ilter代碼如下:

 [AttributeUsage(AttributeTargetsClass | AttributeTargetsMethod, AllowMultiple = false, Inherited = true)]
  public class RequestFormSizeLimitAttribute : Attribute, IAuthorizationFilter, IOrderedFilter
  {
    private readonly FormOptions _formOptions;

    public RequestFormSizeLimitAttribute(int valueCountLimit)
    {
      _formOptions = new FormOptions()
      {
        ValueCountLimit = valueCountLimit
      };
    }

    public int Order { get; set; }

    public void OnAuthorization(AuthorizationFilterContext context)
    {
      var features = contextHttpContextFeatures;
      var formFeature = featuresGet<IFormFeature>();

      if (formFeature == null || formFeatureForm == null)
      {
        // Request form has not been read yet, so set the limits
        featuresSet<IFormFeature>(new FormFeature(contextHttpContextRequest, _formOptions));
      }
    }
  }

因?yàn)锳SP.NET Core MVC中,與之前版本不同的是具體功能被封裝在了各種Feature(特征)中,HttpContext上下文只是能各個(gè)特征進(jìn)行管理的容器。這個(gè)Filter中就只將Action攔截,對(duì)HttpContext中的FormFeature(負(fù)責(zé)表單提交功能)重新進(jìn)行設(shè)置,從而達(dá)到限制具體Action上傳文件大小的目的。

三、結(jié)語(yǔ)

本來(lái)感覺(jué)像是發(fā)現(xiàn)了一個(gè)文件上傳的BUG,已經(jīng)確認(rèn)在1.0.1版本中已經(jīng)進(jìn)行了修復(fù)。在1.0.0版本中,如果Action沒(méi)有設(shè)置一個(gè)IFromFile作為參數(shù),那么Request.From.Files將不能訪問(wèn)并且報(bào)出異常。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • .NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空

    .NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空

    這篇文章主要介紹了.NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • .NET?如何使用?OpenTelemetry?metrics?監(jiān)控應(yīng)用程序指標(biāo)

    .NET?如何使用?OpenTelemetry?metrics?監(jiān)控應(yīng)用程序指標(biāo)

    這篇文章主要介紹了.NET?使用?OpenTelemetry?metrics?監(jiān)控應(yīng)用程序指標(biāo),通過(guò)代碼演示了如何通過(guò) OpenTelemetry 把 Metrics 的數(shù)據(jù)發(fā)送到 Prometheus 里進(jìn)行查詢與展示,然后又演示了自定義相關(guān)指標(biāo)來(lái)滿足業(yè)務(wù)數(shù)據(jù)指標(biāo)的監(jiān)控,需要的朋友可以參考下
    2024-06-06
  • C#中使用SQLite數(shù)據(jù)庫(kù)的方法介紹

    C#中使用SQLite數(shù)據(jù)庫(kù)的方法介紹

    SQLite是一個(gè)開(kāi)源的輕量級(jí)的桌面型數(shù)據(jù)庫(kù),它將幾乎所有數(shù)據(jù)庫(kù)要素(包括定義、表、索引和數(shù)據(jù)本身)都保存在一個(gè)單一的文件中。SQLite用C編寫(xiě)實(shí)現(xiàn),它在內(nèi)存消耗、文件體積、操作性能、簡(jiǎn)單性方面都有不錯(cuò)的表現(xiàn)
    2012-01-01
  • 在asp.net中操作sql server數(shù)據(jù)庫(kù)的一些小技巧

    在asp.net中操作sql server數(shù)據(jù)庫(kù)的一些小技巧

    在asp.net中操作sql server數(shù)據(jù)庫(kù)的一些小技巧...
    2006-09-09
  • .Net Core中使用Grpc的方法

    .Net Core中使用Grpc的方法

    這篇文章主要介紹了.Net Core中使用Grpc的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 淺談ASP.NETCore統(tǒng)一處理404錯(cuò)誤都有哪些方式

    淺談ASP.NETCore統(tǒng)一處理404錯(cuò)誤都有哪些方式

    本文主要介紹了ASP.NETCore統(tǒng)一處理404錯(cuò)誤都有哪些方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • .NET中的repeater簡(jiǎn)介及分頁(yè)效果

    .NET中的repeater簡(jiǎn)介及分頁(yè)效果

    Repeater控件是一個(gè)數(shù)據(jù)綁定容器控件,它能夠生成各個(gè)項(xiàng)的列表,并可以使用模板定義網(wǎng)頁(yè)上各個(gè)項(xiàng)的布局。本文對(duì)此進(jìn)行詳細(xì)介紹,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • ASP.NET Core中的Razor頁(yè)面實(shí)現(xiàn)路由功能

    ASP.NET Core中的Razor頁(yè)面實(shí)現(xiàn)路由功能

    本文詳細(xì)講解了ASP.NET Core中的Razor頁(yè)面實(shí)現(xiàn)路由功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Ajax Control Toolkit BalloonPopup的使用實(shí)例及效果

    Ajax Control Toolkit BalloonPopup的使用實(shí)例及效果

    Ajax Control Toolkit 工具包的簡(jiǎn)介及獲取方式等,BalloonPopup 控件可以顯示一個(gè)彈出層,里面可以包含很多內(nèi)容。
    2013-02-02
  • .NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例

    .NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例

    這篇文章介紹了.NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01

最新評(píng)論