Bonjour,
J'utilise struts 2.1.8.1 dans une application J2EE, et je ne comprends pas le comportement du fileUploadInterceptor.
Il me rejette ma requête pour fichier trop gros, ce qui est le but recherché, mais il upload quand même le fichier dans le rep temporaire struts.multipart.saveDir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <!--struts.xml --> <!-- Properties for fileUpload --> <constant name="struts.multipart.maxSize" value="50000000" /> <!-- TODO : changer avant de remonter dans SVN --> <constant name="struts.multipart.saveDir" value="c:/user/ric/srhtmp_upload" /> .... <action name="chargementFichierPays_*" class="com.toto.srh.chargement.fichierPays.actions.FichierPaysAction" method="{1}"> <interceptor-ref name="srhStack"> <param name="fileUpload.maximumSize">20000000</param> <param name="fileUpload.allowedTypes">text/comma-separated-values, text/csv, application/csv, application/excel, application/vnd.ms-excel, application/vnd.msexcel, text/anytext</param> </interceptor-ref> <result type="tiles">displayFichierPays</result> <result name="error" type="tiles">displayFichierPays</result> <result name="input" type="tiles">displayFichierPays</result> </action>
Quand le fichier est compris entre le fileUpload.maximumSize et le struts.multipart.maxSize, le fichier est rejeté tout simplement
Mais si le fichier est d'une taille supérieure à struts.multipart.maxSize, j'ai l'impression que le fichier est quand même uploadé, avant d'être réellement supprimé....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 2010-09-09 18:36:44,363 WARN org.apache.struts2.interceptor.FileUploadInterceptor [CommonsLogger.java:45] - File too large: upload "SRHFINRBZY01.xml" "upload__6da66268_12af75243d5__7ffe_00000002.tmp" 31453731 2010-09-09 18:36:44,925 INFO org.apache.struts2.interceptor.FileUploadInterceptor [CommonsLogger.java:31] - Removing file upload c:\user\ric\srhtmp_upload\upload__6da66268_12af75243d5__7ffe_00000002.tmp
Mon serveur tourne en rond depuis un moment, car j'ai fait un test avec un fichier de 500Mo...
Avez vous une solution à cela ?
J'en profite, car ça concerne toujours le fileUploadInterceptor :
je ne récupère pas les messages renvoyés par le fileUploadInterceptor, pourtant, quand dans mon action je mets un addActionMessage, ou un addActionError, je les récupère bien... Le fileUploadInterceptor nécessite t'il un autre paramétrage ?
Une dernière pendant que j'y suis, n'est il pas possible de spécifier à un autre endroit que dans le struts.xml la valeur pour struts.multipart.saveDir ?
Ca fait beaucoup de question, mais un peu d'aide serait bien aprécié.
Merci.
Partager