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

La fonctionnalité d'envois multiples par téléchargement de fichiers a été activée dans HCL Commerce Version 9.0.1.11. Assurez-vous que vous avez installé ce pack de correctifs ou une version ultérieure.

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. Une fois activé, vous pouvez implémenter plusieurs formulaires d'envois multiples par téléchargement de fichiers sur votre vitrine.

Procédure

  1. 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.
  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>
  3. Étendez la méthode com.my.commerce.commands.MyFileUploadCmdImpl performExecute pour 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()); }

Résultats

Votre site est maintenant configuré pour accepter les envois multiples par téléchargement de fichiers via la même page.