c# mvc文件上传大小限制maxrequestLength和maxAllowedContentLength的具体含义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# mvc文件上传大小限制maxrequestLength和maxAllowedContentLength的具体含义相关的知识,希望对你有一定的参考价值。

参考技术A


    EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。
    EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。#define EOF (-1)
    除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。

ASP.NET MVC 中的文件大小上传限制:web.config(s) 中的 maxRequestLength 设置超过 1 个

【中文标题】ASP.NET MVC 中的文件大小上传限制:web.config(s) 中的 maxRequestLength 设置超过 1 个【英文标题】:file size upload limitation in ASP.NET MVC: more than 1 maxRequestLength setting in web.config(s) 【发布时间】:2009-06-24 14:30:07 【问题描述】:

我想为 maxRequestLength 设置 1 个以上的设置 - 文件大小上传限制(例如,一个用于文件/新建,另一个用于图片/新建)。我的所有操作都采用额外的参数(例如 /File/New?folderId=234)。

单一设置按预期工作:

<httpRuntime executionTimeout="60" maxRequestLength="1024" />

我尝试在根 web.config 中有 2 个位置部分的 2 个设置,但没有任何成功。我不确定在“路径”中写什么 - 视图的物理 aspx 页面,或控制器 + 动作......但是,似乎没有任何效果。

<location path="/File/">
    <system.web>
        <httpRuntime executionTimeout="60" maxRequestLength="4096" />
    </system.web>
</location>
<location path="/Picture/">
    <system.web>
        <httpRuntime executionTimeout="60" maxRequestLength="1024" />
    </system.web>
</location>

我尝试将另一个 web.config 放在特定的视图文件夹中(例如 /Views/Picture/...),就像它在经典的 Webform ASP.NET 中一样,但这似乎也不起作用。 ..

<location path="">
    <system.web>
        <httpRuntime executionTimeout="60" maxRequestLength="1024" />
    </system.web>
</location>

无论我做什么,只有一个 httpRuntime.maxRequestLength 值被应用 - 在(根)web.config...system.web 中。

【问题讨论】:

在这里查看我的答案:ASP.NET MVC and httpRuntime executionTimeout 【参考方案1】:

我认为 Path 属性不应以“/”开头或结尾 - 所以您应该:

<location path="File">
  <system.web>
    <httpRuntime executionTimeout="60" maxRequestLength="4096" />
  </system.web>
</location>
<location path="Picture">
  <system.web>
    <httpRuntime executionTimeout="60" maxRequestLength="1024" />
  </system.web>
</location>

您的虚拟或物理目录级 Web.config 不应包含 元素。

这应该可以解决您的问题。

Location element 的文档甚至有这个例子:

以下代码示例演示了如何将上传的文件大小限制设置为仅指定页面的 128 KB。

<configuration>
  <location path="UploadPage.aspx">
    <system.web>
      <httpRuntime maxRequestLength="128"/>
    </system.web>
  </location>
</configuration>

【讨论】:

你是对的,当然。我尝试了所有可能的变化(“图片”、“/图片”、“图片/”、“/图片/”、“视图/图片”等),但是在发布我的问题时,我选择了“/图片/”,这是显然错了。但是,由于某些其他原因,它不起作用。我重构了代码(更改了提供参数的方式——现在作为查询字符串参数),它开始正常工作,但我不太确定问题出在哪里。 :-( 还是谢谢!:-)

以上是关于c# mvc文件上传大小限制maxrequestLength和maxAllowedContentLength的具体含义的主要内容,如果未能解决你的问题,请参考以下文章

Spring Mvc 怎么上传超过全局配置的文件?

ASP.NET MVC 中的文件大小上传限制:web.config(s) 中的 maxRequestLength 设置超过 1 个

C# 关于 上传文件 大小限制问题

MVC3 动作文件大小限制

mvc 下json超过限制,上传excel大小限制

spring mvc 怎么大小上传文件控制?