1.单击 开始 。 在 开始搜索 框中, 键入
Notepad. 右击 记事本 , 然后单击 作为管理员运行 。
注意 如果提示用于管理员密码或用于确认, 键入密码, 或单击 继续 。
2.在 文件 菜单上, 单击 打开 。 在 文件名 框中, 键入 %windir%\system32\inetsrv\config\applicationhost.config然后单击 打开 。
3.修改iis7.5配置文件
测试php FileUpload控件,依托于windows7的IIS7.5上传大附件时失败,只要超过30M就不行了。但我在web.config中明明设置了
为什么不起作用尼.根据IE提示错误信息:
打到%windir%\system32\inetsrv\config\applicationhost.config ,然后单击 打开 。
在该 ApplicationHost.config 文件中找不到maxAllowedContentLength 属性。 那么自己添加一个值,使客户端发送作为请求的一部分的内容长度标头的大小相同。 默认情况下, maxAllowedContentLength 属性的值是 30000000。帮助信息说到maxAllowedContentLength 的默认大不为30M。
这时明白web.config文件中设定的是针对某个WEB站点.而非全部站点的上传大小。在当applicationhost.config 中未对maxAllowedContentLength 设定大小时默认就是30M,在web.config中设定超过于30M,依然上传最大为30M。然而在applicationhost.config未找到节点,那么自己试着在system.webServer中添加此节点,一定要在system.webServer里设置。
再次上传大附件,OK成功!:)
附转载:FLASH的swfupload上传大小修改
前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传。
后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M时,就出现404错误,而且是是上传进度达到100%之后,真是让人难思其解。
反复测试,发现FLASH上传文件到并没有正确的执行.NET程序,也就是.NET程序本身有问题;
但小于30M又是一切OK,难道是上传的文件大小有所限制?
检查web.config的httpRuntime :
已经是很大值了。
因为无法正确得到详细的错误信息,就用一个普通的FORM提交一个FileUpload测试,原来真是web.config的设置问题:
最可能的原因:
Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。
可尝试的操作:
确认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。
链接和更多信息
这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。您可以配置 IIS 7.0 服务器以拒绝内容长度大于指定值的请求。如果请求的内容长度大于所配置的长度,便会返回此错误。如果需要增加内容长度,请修改 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。
原来IIS7的上传文件大小,即便是在经典模式下,也一定要在system.webServer里设置,加上去就OK了:
注意 如果提示用于管理员密码或用于确认, 键入密码, 或单击 继续 。
2.在 文件 菜单上, 单击 打开 。 在 文件名 框中, 键入 %windir%\system32\inetsrv\config\applicationhost.config然后单击 打开 。
3.修改iis7.5配置文件
测试php FileUpload控件,依托于windows7的IIS7.5上传大附件时失败,只要超过30M就不行了。但我在web.config中明明设置了
为什么不起作用尼.根据IE提示错误信息:
打到%windir%\system32\inetsrv\config\applicationhost.config ,然后单击 打开 。
在该 ApplicationHost.config 文件中找不到maxAllowedContentLength 属性。 那么自己添加一个值,使客户端发送作为请求的一部分的内容长度标头的大小相同。 默认情况下, maxAllowedContentLength 属性的值是 30000000。帮助信息说到maxAllowedContentLength 的默认大不为30M。
这时明白web.config文件中设定的是针对某个WEB站点.而非全部站点的上传大小。在当applicationhost.config 中未对maxAllowedContentLength 设定大小时默认就是30M,在web.config中设定超过于30M,依然上传最大为30M。然而在applicationhost.config未找到节点,那么自己试着在system.webServer中添加此节点,一定要在system.webServer里设置。
再次上传大附件,OK成功!:)
附转载:FLASH的swfupload上传大小修改
前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传。
后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M时,就出现404错误,而且是是上传进度达到100%之后,真是让人难思其解。
反复测试,发现FLASH上传文件到并没有正确的执行.NET程序,也就是.NET程序本身有问题;
但小于30M又是一切OK,难道是上传的文件大小有所限制?
检查web.config的httpRuntime :
已经是很大值了。
因为无法正确得到详细的错误信息,就用一个普通的FORM提交一个FileUpload测试,原来真是web.config的设置问题:
最可能的原因:
Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。
可尝试的操作:
确认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。
链接和更多信息
这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。您可以配置 IIS 7.0 服务器以拒绝内容长度大于指定值的请求。如果请求的内容长度大于所配置的长度,便会返回此错误。如果需要增加内容长度,请修改 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。
原来IIS7的上传文件大小,即便是在经典模式下,也一定要在system.webServer里设置,加上去就OK了: