我想上传图片,它在我的机器上工作正常,但当我把我的网站放在IIS7服务器上公开时,我无法上传任何内容.
请求过滤模块被配置为拒绝超过请求内容长度的请求.
在Web服务器上配置请求筛选以拒绝请求,因为内容长度超过了配置的值.
验证applicationhost.config或web.config文件中的configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength设置.
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1048576" />
</requestFiltering>
</security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
如您所见,我将maxAllowedContentLength设置为1gb.重新启动我的网站仍然收到此错误.我/uploads/在我的文件系统上创建了一个文件夹,它也是如此.不知道导致此错误的原因以及无法上传图片的原因.
有谁知道是否有办法捕获此错误?
基本上我正在尝试实现一些功能,允许用户将文件从网页上传到webapi控制器.
这很好,但如果文件大小超过web.config中指定的最大大小,则服务器返回404错误.
我希望能够拦截这个并返回500错误以及客户端可以使用的消息.
我无法解决在WebApi中执行此操作的问题,因为我在Global.asax中实现的Application_Error方法从未被命中,似乎IIS没有将此传递给WebApi应用程序.
我正在尝试使用以下命令在Windows Server 2012 R2上的IIS 8.5中设置uploadReadAheadSize:
appcmd.exe set config -section:system.webServer/serverRuntime/uploadReadAheadSize:"491521" /commit:apphost
Run Code Online (Sandbox Code Playgroud)
但我一直收到这个错误:
ERROR ( message:Can not set attribute "uploadReadAheadSize" to value "491521 "..
Reason: Not a valid unsigned integer . )
Run Code Online (Sandbox Code Playgroud)
从这个页面最大值应该是4GB所以我的整数是有效的.(不可否认,这可以追溯到IIS 6.0,所以不确定它现在有多相关.)
另一方面,此页面表明该属性可能已被替换/弃用或其他内容,但从错误消息或我可以在Google上找到的任何内容中都不清楚.
我不是IIS的专家,所以可能有一个简单/明显的答案,但如果有人能分享更具体的信息,我将不胜感激......
更新:也发布在IIS论坛
具有 Windows Server 2008 R2 和 IIS 7.5 的 Web.config 文件中maxAllowedContentLength的最大值是多少?
Run Code Online (Sandbox Code Playgroud)<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="???"/> </requestFiltering> </security> </system.webServer>
我正在 MVC 平台上工作,并且使用 JSON GET 调用 jqGrid。
我已阅读Request Limits、maxQueryStringLength、maxAllowedContentLength、URL 最大长度并配置web.config如下
<httpRuntime maxRequestLength="2147483647" executionTimeout="1200" requestValidationMode="2.0" maxQueryStringLength="2097151" maxUrlLength ="65536"/>
Run Code Online (Sandbox Code Playgroud)
&
<requestLimits maxUrl ="65536" maxAllowedContentLength="4294967295" maxQueryString ="2097151" />
Run Code Online (Sandbox Code Playgroud)
但它仍然给我错误414 (Request-URI Too Long)。
知道有什么办法可以解决这个问题吗?
编辑:
根据 Rory 的评论,我将 GET 请求更改为 POST。通过更改它应该可以解决问题。可以在这里找到讨论。但是,在更改它并通过ASP.Net Core maxUrlLength后我仍然面临同样的问题
我有一个类似的问题:如何在IIS7上运行时将maxAllowedContentLength设置为500MB?
区别在于我已经修改了我web.config接受的文件大小达到2 Gb但是当尝试上传大文件时,我收到以下错误:
请求过滤模块被配置为拒绝超过内容长度的请求.
我web.config是这样的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<httpRuntime executionTimeout="999999" maxRequestLength="2097151"/>
<customErrors mode="Off"/>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<membership>
<providers>
<clear/>
</providers>
</membership>
<profile>
<providers>
<clear/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
</providers>
</roleManager>
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2097151" />
</requestFiltering>
</security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
当我尝试上传文件时,我仍然收到错误131 MB.
那么,我应该在maxAllowedContentLength设置中设置什么才能让人们上传超过100 MB的文件呢?
我在Windows服务器上成功设置了一个带有团队基础服务器/ vNext的声纳qube实例.*这是另一个问题然后是sqube 6.0/6.1和connectorj问题.
我们的一些项目生成大小超过20兆字节的报告,上传时我们从声纳qube得到404错误.由于所有其他项目工作正常,只有那些生成> 20m报告的人,我怀疑Tomcat中的maxPostSize参数,但是所有内容都嵌入在.jars中,所以我不确定如何仔细检查它.在github中,连接器似乎正确设置为-1(无限大小).在tomcat的mbean描述符(org/apache/catalina/connector/mbeans-descriptors.xml)中,定义了属性max post size但没有默认值.
有问题的错误:
Analysis reports compressed in 15547ms, zip size=34 MB
EXECUTION FAILURE
Total time: 13:56.691s
Final Memory: 67M/574M
Error during SonarQube Scanner execution
org.sonarqube.ws.client.HttpException: Error 404 on https://sonarqube.company.com/api/ce/submit?projectKey=good_project_key&projectName=good_project_name
[error]at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:34)
[error]at org.sonar.batch.bootstrap.BatchWsClient.failIfUnauthorized(BatchWsClient.java:99)
[error]at org.sonar.batch.bootstrap.BatchWsClient.call(BatchWsClient.java:69)
[error]at org.sonar.batch.report.ReportPublisher.upload(ReportPublisher.java:172)
Run Code Online (Sandbox Code Playgroud) asp.net ×3
iis ×3
iis-7 ×2
.net ×1
ajax ×1
asp.net-mvc ×1
c# ×1
file-upload ×1
iis-7.5 ×1
iis-8 ×1
jquery ×1
sonar-runner ×1
sonarqube ×1
tfs ×1
tomcat ×1
url ×1
web-config ×1