struts 2ファイルアップロードサイズの制限

2628 ワード


defalut.propertiesプロファイルアップロードサイズ(グローバル役割、優先度が最も高い):struts.multipart.maxSize=2097152 struts-default.xmlのプロファイルブロッキングアップロードサイズ(maxSizeより優先度が低いグローバル役割):maximumSize
<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>

アップロードファイルと他の両方の関係はstruts.multipart.maxSizeはプロジェクトのグローバル構成のファイルアップロードサイズ制限であり、グローバルアップロードfileUploadInterceptorにおけるmaximumSizeもドメイングローバルに作用するが、優先度は前者であるstrutsより低い.multipart.maxSize>Interceptor maximumSize>アップロードファイルサイズ
 
 
===================================================================
 
以下転載
 
テキストリンク:http://blog.sina.com.cn/s/blog_5dc034a30100ooj6.html
 
 
Struts 2のファイルを使用してコントロールをアップロードする場合struts.xmlでは、アップロードされたactionのfileUploadブロッキングを処理するmaximumSizeパラメータを5000000に設定し、3 Mのファイルをアップロードした後、コンソールが間違っていることを発見し、ファイルが2 Mを超えることを提示します.Struts.xmlに関する構成は次のとおりです.
 
<action name="FileUpload" class="cn.timefly.strutsTest.FileUploadAction">
   <result name="success">/FileUploadResult.jsp</result>
    <result name="input">/FileUpload.jsp</result>
    <!--   -->
    <interceptor-ref name="fileUpload">
      <param name="maximumSize">500000</param>
      <param name="allowedTypes">application/vnd.ms-powerpoint</param>    
    </interceptor-ref>
<interceptor-ref name="defaultStack" />
    </action>

 
strutsでxmlに追加
<constant name="struts.multipart.maxSize" value="9000000"/>
 
すべてが正常になったことに気づいて、間違いを報告しません.機能も正常になりました.
strutsを発見multipart.maxSizeとfileUploadブロッキングのmaximumSize属性の分業は異なり、以下のようにまとめられています.
1.struts.multipart.maxSizeは、プロジェクト全体にアップロードされたファイルの最大のSizeを制御します.このsizeを超えると、バックグラウンドでエラーが発生し、プログラムはこのような大きなファイルを処理できません.fielderrorには次のようなヒントがあります.
the request was rejected because its size (16272982) exceeds the configured maximum (9000000)
2.file UploadブロッキングのmaximumSize属性はstrutsより小さくなければならない.multipart.maxSizeの値.
struts.multipart.maxSizeのデフォルトは2 Mで、maximumSizeが2 Mより大きい場合はstrutsを設定する必要があります.multipart.maxSizeの値はmaximumSizeより大きい.
3.アップロードされたファイルがstrutsより大きい場合.multipart.maxSizeの場合、システムエラー
アップロードされたファイルがstrutsにある場合multipart.maxSizeとmaximumSizeの間にある場合、システムのヒント:
File too large:file「MSFのコンセプト.ppt」「upload__5133e 516_129 ce 85285 f__7ffa_00000005.tmp」6007104
アップロードされたファイルがmaximumSizeより小さい場合、アップロードに成功します.