
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
About this task
Struts 2 file upload is supported in HCL Commerce. This feature uses the file upload
interceptor to fulfill requests.
- To enable Struts 2 file upload in HCL Commerce, see Enabling the Struts 2 file upload feature.
- For details about the Struts 2 file upload implementation, see File Upload in the Apache Struts 2 documentation.
Procedure
-
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.
-
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>
-
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()); }