2011-07-13 73 views
1

我试图实现对图像的文件上传API下面这个例子IIS7使用HTML5文件API返回404的大文件

http://robertnyman.com/html5/fileapi-upload/fileapi-upload.html

在服务器端,我使用ASP.NET MVC 3 IIS7(集成,仅32位)

一切工作与开发服务器和IIS7.5本地罚款。在服务器上它也起作用,除了如果一个文件具有一定的大小(使用2.2MB的图像文件),上传似乎正在工作,但响应是404页面。我已经将maxRequestLength配置为10MB,但即使使用默认的4MB,它也应该可以工作。

404页我回来是IIS7默认404,而不是我的应用程序的404页,(通过观察结果小提琴手或萤火虫)。我捕获所有随机URL并显示自定义404页面,但在这种情况下,似乎请求未发送到ASP.NET管道(应用程序池设置为“集成”)。

我也记录可能会出现(包括404)的任何异常 - 日志是明确的,只要这个问题。服务器的事件日志中也没有任何内容。

任何想法?

谢谢!

回答

8

它无关,与HTML5文件API或ASP.NET MVC。

的问题是,在IIS7你必须指定maxAllowedContentLength。广告的默认值是4MB,但由于上传2MB文件失败,似乎并不是这种情况。有趣的是,本地IIS7.5(Windows 7)似乎没有这个问题 - 也许它已经修复IIS7.5(Windows Server 2008 R2)

要解决它,请在你的web.config中确保你有这样的事情:

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

该值是以字节为单位;我指定10MB