Activer les envois multiples par téléchargement de fichiers
Vous pouvez activer les envois multiples par téléchargement avec quelques ajustements mineurs à la fonctionnalité de téléchargement de fichiers Struts 2 HCL Commerce.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Le téléchargement de fichiers Struts 2 est pris en charge dans HCL Commerce. Cette fonctionnalité utilise l'intercepteur de téléchargement de fichiers pour répondre aux requêtes.
- Pour activer le téléchargement de fichiers Struts 2 dans HCL Commerce, voir Activation de la fonctionnalité de téléchargement de fichiers Struts 2.
- Pour plus d'informations sur l'implémentation du chargement de fichier Struts 2, voir Chargement de fichier dans la documentation Apache Struts 2.
Procédure
-
Modifiez vos fichiers JavaServer Page (JSP) pour activer les envois multiples par téléchargement de fichiers.
Par exemple :
<form id=MyUploadForm" enctype ="multipart/form-data" action="./MyFileUpload?storeId=1&langId=-1&catalogId=10001 "method="post" name="MyUploadForm"> <input name="filenames" type="file" size="50" id="UploadedFile1"/> <input name="filenames" type="file" size="50" id="UploadedFile2"/> <input type="submit"> </form>Remarque :- La valeur de la propriété name doit être filenames pendant le téléchargement de plusieurs fichiers.
- Vous pouvez également utiliser les balises standard Struts 2.
-
Assurez-vous que l'action est définie dans le fichier de configuration Struts.Par exemple :
<action class="com.ibm.commerce.struts.v2.BaseAction" name="MyFileUpload"> <param name="authenticate">0:0</param> <param name="https">0:1</param> <param name="csrfProtected">0:0</param> <param name="parameter">com.my.commerce.commands.MyFileUploadCmd</param> </action> -
Étendez la méthode
com.my.commerce.commands.MyFileUploadCmdImplperformExecutepour prendre en charge plusieurs fichiers.UploadedFile[] upLoadFiles = (UploadedFile[]) requestProperties.get(ECConstants.EC_UPLOADED_FILES, null); for (UploadedFile file : upLoadFiles) { System.out.println("upLoadFile: " + file.getFileName() + ", Size: " + file.getLength()); }