HCL Commerce Version 9.0.1.11 or later

Enabling multiple file uploads

You can enable multiple uploads with some minor adjustments to the HCL Commerce Struts 2 file upload feature.

Before you begin

The multiple file upload feature was enabled in HCL Commerce Version 9.0.1.11. Ensure that you have installed this level fix pack or greater.

About this task

Struts 2 file upload is supported in HCL Commerce. This feature uses the file upload interceptor to fulfill requests. Once enabled, you can implement multiple file upload forms on your storefront.

Procedure

  1. Modify your storefront JavaServer Page files (JSPs) to enable multiple file uploads.
    For example:
    <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>
    Note:
    • The value for the name property, is required to be filenames when uploading multiple files.
    • You can use Struts 2 standard tags as well.
  2. Ensure that the action is defined in the Struts configuration file.
    For example:
    <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. Extend the com.my.commerce.commands.MyFileUploadCmdImpl performExecute method to support multiple files.
    UploadedFile[] upLoadFiles = (UploadedFile[]) requestProperties.get(ECConstants.EC_UPLOADED_FILES, null);
    for (UploadedFile file : upLoadFiles)
    { System.out.println("upLoadFile: " + file.getFileName() + ", Size: " + file.getLength()); }

Results

Your site is now configured to accept multiple file uploads through the same page.