随笔 - 755  文章 - 1  评论 - 53  阅读 - 129万

【Web应用】JAVA网络上传大文件报500错误

问题描述

当通过 JAVA 网站上传大文件,会报 500 错误。

问题分析

因为 Azure 的 Java 网站都是基于 IIS 转发的,所以我们需要关注 IIS 的文件上传限制以及 requestTimeout。

解决方法

  1. 由于 IIS 默认请求体的大小为 28.6M,若上传的文件超过这个大小,还需要在 web.config 文件中修改 IIS 请求体的大小,具体修改可以参照下面的例子:

     
    <configuration>
    <system.webServer>
        <security>
            <requestFiltering>
                    <requestLimits maxAllowedContentLength="300000000"/>
            </requestFiltering>
        </security>
    </system.webServer>
    <system.web>
                    <httpRuntime maxRequestLength="300000000" appRequestQueueLimit="100" useFullyQualifiedRedirectUrl="true" executionTimeout="600"/>
    </system.web>
    </configuration>
    
  2. 若上传大文件,建议配置 requestTimeout 为较长时间,默认是2分钟。

     
    <httpPlatform processPath="<Your_Project_Path>\bin\apache-tomcat-8.0.28\apache-tomcat-8.0.28\bin\startup.bat"     arguments="" stdoutLogEnabled="true" stdoutLogFile="<Your_stdout_Log_File_Path>"   requestTimeout="00:02:00">
    
  3. 做完上述的配置之后,建议在管理门户重启网站。

参考链接

posted on   DavidZang  阅读(1202)  评论(0编辑  收藏  举报
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示