JavaScript中的form.submit是否在ASP.NET MVC应用程序中命中了HTTP处理程序?

时间:2016-11-21 05:46:08

标签: javascript asp.net-mvc httphandler

我正在开发一个ASP.NET MVC 5应用程序。我正在使用JavaScript POST方法将表单提交给我的MVC控制器。通常将文件上载到服务器。我有多个文件上传的页面。文件可以是图像,文件等。

我想在上传文件之前添加一些常见的自定义功能。我们说我想查看文件大小。这在客户端是不可能的,因为一些客户端使用的浏览器不支持HTML5。

当我尝试上传大文件时,IIS将请求作为404.13发回(内容长度很大)。它没有击中我的控制器。我尝试创建HTTPHandler和RouteHandler,因为它是一个MVC应用程序。但这些都不奏效。

有人可以建议我如何为此创建一个HTTP处理程序吗?

2 个答案:

答案 0 :(得分:0)

正如Jaromanda X所说,看起来您需要配置IIS以允许使用更大的文件。这是一个应该在这个论坛上多次讨论的主题,所以如果你搜索它,你应该找到答案。

为了不是完全没用:),我会建议你一个来源,解释如何做到这一点:Easy ways to upload and validate large files in ASP.NET

答案 1 :(得分:0)

您必须在httpRuntime的配置中添加/更改system.web,如下所示:

<configuration>
...
 <system. web>
  <httpRuntime maxRequestLength="102400" executionTimeout="3600" /> 
...
 </system .web>
</configuration>

其中,maxRequestLength="102400"是以字节为单位的最大文件大小,executionTimeout="3600"是较慢连接应增加的最长执行时间。如果您的文件大于30000000(28.6 MB)文件,则必须添加到web.config

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

请参阅MSDN上的<httpRuntime> Element