Chris,

Thank you for your reply,its helpful to me.




         原始邮件
         
       
发件人:Christopher Schultz <[email protected]&gt;
发件时间:2025年9月24日 20:16
收件人:users <[email protected]&gt;
主题:Re: File upload and download issue in Tomcat 9.0.106



       Jianh,

On&nbsp;9/24/25&nbsp;4:58&nbsp;AM,&nbsp;jianhlang&nbsp;wrote:
&gt;&nbsp;When&nbsp;i&nbsp;use&nbsp;Tomcat&nbsp;9.0.105(no&nbsp;configures&nbsp;changed)&nbsp;to&nbsp;deploy&nbsp;my&nbsp;app&nbsp;and&nbsp;upload&nbsp;a&nbsp;pdf&nbsp;file&nbsp;on&nbsp;a&nbsp;function,everything&nbsp;goes&nbsp;well,and&nbsp;pdf&nbsp;file&nbsp;uploaded.
&gt;&nbsp;But&nbsp;when&nbsp;change&nbsp;to&nbsp;Tomcat&nbsp;9.0.106(no&nbsp;configures&nbsp;changed)&nbsp;to&nbsp;deploy&nbsp;the&nbsp;same&nbsp;app,&nbsp;then&nbsp;upload&nbsp;the&nbsp;same&nbsp;file,the&nbsp;page&nbsp;auto&nbsp;refreshed&nbsp;and&nbsp;file&nbsp;stream&nbsp;is&nbsp;null.
&gt;&nbsp;The&nbsp;network&nbsp;in&nbsp;firefox&nbsp;showed&nbsp;'Request&nbsp;has&nbsp;been&nbsp;truncated'
&gt;&nbsp;
&gt;&nbsp;
&gt;&nbsp;env&nbsp;as&nbsp;below
&gt;&nbsp;both&nbsp;win11&nbsp;and&nbsp;linux&nbsp;facing&nbsp;this&nbsp;issue.
&gt;&nbsp;java-1.8.0-openjdk-1.8.0.345
&gt;&nbsp;<dependency&amp;gt;
&gt;&nbsp;&nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;<groupId&amp;gt;commons-fileupload</groupId&amp;gt;
&gt;&nbsp;&nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;<artifactId&amp;gt;commons-fileupload</artifactId&amp;gt;
&gt;&nbsp;&nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;<version&amp;gt;1.5</version&amp;gt;
&gt;&nbsp;</dependency&amp;gt;
&gt;&nbsp;
&gt;&nbsp;<dependency&amp;gt;
&gt;&nbsp;&nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;<groupId&amp;gt;commons-io</groupId&amp;gt;
&gt;&nbsp;&nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;<artifactId&amp;gt;commons-io</artifactId&amp;gt;
&gt;&nbsp;&nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;<version&amp;gt;2.5</version&amp;gt;
&gt;&nbsp;</dependency&amp;gt;

Here&nbsp;is&nbsp;the&nbsp;changelog&nbsp;for&nbsp;9.0.106:

https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.106_(remm)

I&nbsp;think&nbsp;this&nbsp;change&nbsp;might&nbsp;be&nbsp;relevant:

"
Provide&nbsp;finer&nbsp;grained&nbsp;control&nbsp;of&nbsp;multi-part&nbsp;request&nbsp;processing&nbsp;via&nbsp;two&nbsp;
new&nbsp;attributes&nbsp;on&nbsp;the&nbsp;Connector&nbsp;element.&nbsp;maxPartCount&nbsp;limits&nbsp;the&nbsp;total&nbsp;
number&nbsp;of&nbsp;parts&nbsp;in&nbsp;a&nbsp;multi-part&nbsp;request&nbsp;and&nbsp;maxPartHeaderSize&nbsp;limits&nbsp;the&nbsp;
size&nbsp;of&nbsp;the&nbsp;headers&nbsp;provided&nbsp;with&nbsp;each&nbsp;part.&nbsp;Add&nbsp;support&nbsp;for&nbsp;these&nbsp;new&nbsp;
attributes&nbsp;to&nbsp;the&nbsp;ParameterLimitValve.
"

I&nbsp;recommend&nbsp;that&nbsp;you&nbsp;review&nbsp;these&nbsp;new&nbsp;settings:

https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Common_Attributes

Specifically:

"
maxPartCount&nbsp;-&nbsp;The&nbsp;maximum&nbsp;total&nbsp;number&nbsp;of&nbsp;parts&nbsp;permitted&nbsp;in&nbsp;a&nbsp;request&nbsp;
where&nbsp;the&nbsp;content&nbsp;type&nbsp;is&nbsp;multipart/form-data.&nbsp;This&nbsp;limit&nbsp;is&nbsp;in&nbsp;addition&nbsp;
to&nbsp;maxParameterCount.&nbsp;A&nbsp;value&nbsp;of&nbsp;less&nbsp;than&nbsp;0&nbsp;means&nbsp;no&nbsp;limit.&nbsp;If&nbsp;not&nbsp;
specified,&nbsp;a&nbsp;default&nbsp;of&nbsp;50&nbsp;is&nbsp;used.&nbsp;Requests&nbsp;that&nbsp;exceed&nbsp;this&nbsp;limit&nbsp;may&nbsp;
be&nbsp;ignored&nbsp;depending&nbsp;on&nbsp;how&nbsp;the&nbsp;application&nbsp;processes&nbsp;the&nbsp;request.&nbsp;The&nbsp;
FailedRequestFilter&nbsp;filter&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;always&nbsp;reject&nbsp;requests&nbsp;that&nbsp;
exceed&nbsp;the&nbsp;limit.
"

Note&nbsp;that&nbsp;the&nbsp;default&nbsp;limit&nbsp;is&nbsp;50.&nbsp;If&nbsp;you&nbsp;have&nbsp;mroe&nbsp;than&nbsp;50&nbsp;"parts"&nbsp;in&nbsp;
your&nbsp;<form&gt;&nbsp;(this&nbsp;includes&nbsp;ALL&nbsp;<input&gt;,&nbsp;etc.&nbsp;in&nbsp;the&nbsp;<form&gt;)&nbsp;then&nbsp;you&nbsp;
might&nbsp;need&nbsp;to&nbsp;raise&nbsp;this&nbsp;limit.

"
maxPartHeaderSize&nbsp;-&nbsp;The&nbsp;maximum&nbsp;number&nbsp;of&nbsp;header&nbsp;bytes&nbsp;permitted&nbsp;per&nbsp;
part&nbsp;in&nbsp;a&nbsp;request&nbsp;where&nbsp;the&nbsp;content&nbsp;type&nbsp;is&nbsp;multipart/form-data.&nbsp;
Requests&nbsp;that&nbsp;exceed&nbsp;this&nbsp;limit&nbsp;will&nbsp;be&nbsp;rejected.&nbsp;A&nbsp;value&nbsp;of&nbsp;less&nbsp;than&nbsp;0&nbsp;
means&nbsp;no&nbsp;limit.&nbsp;If&nbsp;not&nbsp;specified,&nbsp;a&nbsp;default&nbsp;of&nbsp;512&nbsp;is&nbsp;used.
"

You&nbsp;might&nbsp;want&nbsp;to&nbsp;check&nbsp;your&nbsp;Network&nbsp;tab&nbsp;in&nbsp;your&nbsp;browser&nbsp;to&nbsp;see&nbsp;if&nbsp;there&nbsp;
are&nbsp;any&nbsp;Parts&nbsp;which&nbsp;have&nbsp;large&nbsp;headers.&nbsp;This&nbsp;can&nbsp;happen&nbsp;if&nbsp;the&nbsp;filename&nbsp;
is&nbsp;unusually&nbsp;large.&nbsp;If&nbsp;you&nbsp;think&nbsp;you&nbsp;need&nbsp;more&nbsp;than&nbsp;512&nbsp;bytes&nbsp;per&nbsp;part,&nbsp;
then&nbsp;you&nbsp;might&nbsp;want&nbsp;to&nbsp;raise&nbsp;this&nbsp;limit.

-chris


---------------------------------------------------------------------
To&nbsp;unsubscribe,&nbsp;e-mail:&nbsp;[email protected]
For&nbsp;additional&nbsp;commands,&nbsp;e-mail:&nbsp;[email protected]

Reply via email to