我指定了一个 maxRequestLength
在我的 web.config (MVC) 中,像这样:
<location path="File/Upload">
<system.web>
<httpRuntime maxRequestLength="330"/>
</system.web>
</location>
在测试超过 330kb 的文件上传时查看网络选项卡时,我可以看到来自服务器的响应是
500
详情是The required anti-forgery form field "__RequestVerificationToken" is not present.
为什么会这样?框架无法提供
maxRequestLength
的详细信息吗?在回应中?或者它只是不想泄露有关系统的信息?还是我的请求已被截断/裁剪以满足限制,这无意中删除了请求验证 token ?
笔记
这适用于不超过 330kb 的文件,并且我的上传工作正常。
最佳答案
我看到你设置的 maxRequestLength 是 330,这是文件上传的限制。
此值遵循以下规则:
1 Mb = 1024kb
您可以在以下位置看到更多详细信息:
https://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength(v=vs.110).aspx
因此,当您设置 maxRequestLength="330"时,系统将理解文件上传限制为 330kb。
关于asp.net-mvc-4 - 为什么超过指定 maxRequestLength 的请求会以(看似)不相关的错误响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364092/