Struts 2アップロードファイルのサイズ制限方法の解析を修正します。
2327 ワード
まずstrutsアップロードの最大サイズは二つのところで決めます。
・struts.multiiprt.maxSizeが全体のpostのformを決定するのは最大どれぐらいの大きさなので、この制限は最初です。デフォルトのサイズは2 M近くで、strutsのdefault.propertiesで定義されます。
・fileupladInterceptorではmaximSize最大ファイルサイズを定義できます。
最初の定義はstruts.xmlで定義されていましたが、有効ではありませんでした。その後、工事中のstruts.propertiesに設定されていることが分かりました。ですので、上書きされました。struts.propertiesの設定を変更すると有効になります。
ここで一つの問題がテストされていません。multiipad formの中に二つのファイルがアップロードされているなら、fileupladInterceptorの設定の最大サイズは合計ですか?それとも各ファイルに対してですか?しかし、検証されませんでした。
次に、Struts 2を見て、アップロードファイルのサイズを変更します。解決方法は以下の通りです。
1、struts.multiiprt.maxSizeはプロジェクト全体にアップロードされたファイルの最大sizeを制御します。この値を超過しました。バックグラウンドのエラーが発生しました。
the request was reject because its size(51224434)exceeds the configred maximm(20971520)
2、fileUploadスクリーンのmaximSize属性はstruts.multiipad.maxSizeの値より小さい必要があります。
struts.multiiprt.maxSizeのデフォルトの2 Mは、maximSizeが2 Mより大きい場合、struts.multiipad.maxSizeの値がmaximSizeより大きいように設定しなければなりません。
3、アップロードされたファイルがmaxSizeとmaximSizeの間にある場合、システムヒント
The file is to large to be uplloaded:file“apache-tomcat-7.0.47 zip”“uplload_”94 d 9 d 06 c_a 45 f_b 91 e 4 c 915 c 02_0000002.tmp「8782342」
4、アップロードファイルがmaximSizeより小さい場合、アップロードに成功します。
まとめ:アップロードしたファイルのサイズは<maximSize>maxSize
以上はStruts 2アップロードファイルのサイズ制限方法の解析の全部の内容についてです。皆さんに助けてほしいです。このサイトの他の関連テーマを参照してください。何か問題があればいつでもメッセージを残してください。
・struts.multiiprt.maxSizeが全体のpostのformを決定するのは最大どれぐらいの大きさなので、この制限は最初です。デフォルトのサイズは2 M近くで、strutsのdefault.propertiesで定義されます。
・fileupladInterceptorではmaximSize最大ファイルサイズを定義できます。
最初の定義はstruts.xmlで定義されていましたが、有効ではありませんでした。その後、工事中のstruts.propertiesに設定されていることが分かりました。ですので、上書きされました。struts.propertiesの設定を変更すると有効になります。
ここで一つの問題がテストされていません。multiipad formの中に二つのファイルがアップロードされているなら、fileupladInterceptorの設定の最大サイズは合計ですか?それとも各ファイルに対してですか?しかし、検証されませんでした。
次に、Struts 2を見て、アップロードファイルのサイズを変更します。解決方法は以下の通りです。
<struts>
<constant name="struts.multipart.maxSize" value="20971520" /> <!-- 20MB(1024*1024*20) -->
<package name="build" extends="struts-default">
<action name="fileUpload" class="com.home.UploadAction" method="upload">
<result name="success">/success.jsp</result>
<result name="input">/error.jsp</result>
<!-- <param name="allowedTypes"></param> -->
<interceptor-ref name="fileUpload">
<param name="maximumSize">5242880</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" /> <!-- -->
</action>
</package>
</struts>
struts.multiiprt.maxSizeとfileUpload傍受のmaximSizeの属性分業が違います。1、struts.multiiprt.maxSizeはプロジェクト全体にアップロードされたファイルの最大sizeを制御します。この値を超過しました。バックグラウンドのエラーが発生しました。
the request was reject because its size(51224434)exceeds the configred maximm(20971520)
2、fileUploadスクリーンのmaximSize属性はstruts.multiipad.maxSizeの値より小さい必要があります。
struts.multiiprt.maxSizeのデフォルトの2 Mは、maximSizeが2 Mより大きい場合、struts.multiipad.maxSizeの値がmaximSizeより大きいように設定しなければなりません。
3、アップロードされたファイルがmaxSizeとmaximSizeの間にある場合、システムヒント
The file is to large to be uplloaded:file“apache-tomcat-7.0.47 zip”“uplload_”94 d 9 d 06 c_a 45 f_b 91 e 4 c 915 c 02_0000002.tmp「8782342」
4、アップロードファイルがmaximSizeより小さい場合、アップロードに成功します。
まとめ:アップロードしたファイルのサイズは<maximSize>maxSize
以上はStruts 2アップロードファイルのサイズ制限方法の解析の全部の内容についてです。皆さんに助けてほしいです。このサイトの他の関連テーマを参照してください。何か問題があればいつでもメッセージを残してください。