ASP.NET本地选择长文件名文件触发HTTP 404.13错误,求解决方法
解决ASP.NET长文件名文件上传的404.13错误
1. 调整ASP.NET请求内容长度限制
在项目的web.config文件中,找到<system.web>节点,添加或修改httpRuntime配置,设置允许的最大请求长度(单位为KB),示例设置为100MB:
<system.web> <httpRuntime maxRequestLength="102400" executionTimeout="3600" /> </system.web>
executionTimeout为可选配置,用于设置请求超时时间(单位秒),避免大文件上传时触发超时
2. 配置IIS请求过滤模块的内容长度限制
针对IIS 7及以上版本,需在web.config的<system.webServer>节点中配置requestFiltering,设置允许的最大内容长度(单位为字节),对应上面的100MB示例:
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="104857600" /> </requestFiltering> </security> </system.webServer>
注意:maxAllowedContentLength单位是字节,需与maxRequestLength的KB值对应(1MB=1024KB=1048576字节)
3. 调整文件名长度限制(针对长文件名场景)
若确实是文件名长度触发限制,可在web.config的<requestFiltering>节点下添加文件名长度配置:
<requestFiltering> <requestLimits maxAllowedContentLength="104857600" maxAllowedFileNameLength="255" /> </requestFiltering>
maxAllowedFileNameLength默认值为260,可根据需求调整,确保文件名(含扩展名)长度不超过该值
4. 验证配置
修改web.config后重启IIS站点,再次尝试上传长文件名文件,确认错误是否消除。
补充说明:错误提示指向请求内容长度超限,大概率是长文件名对应的文件体积超过了默认限制(默认
maxRequestLength为4MB),而非单纯文件名长度问题。你遇到的差异可能是长文件名文件恰好体积更大,短文件名文件体积较小导致的。
内容的提问来源于stack exchange,提问作者Hidalgo
相关产品推荐
相关产品推荐

