[ 
https://issues.apache.org/struts/browse/STR-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joe Germuska closed STR-1915.
-----------------------------

    Resolution: Duplicate

This appears to be a duplicate of STR-487 which has a patch with a test.

> [upload] Handling mulitiple file input with same name
> -----------------------------------------------------
>
>                 Key: STR-1915
>                 URL: https://issues.apache.org/struts/browse/STR-1915
>             Project: Struts 1
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.1 Final
>         Environment: Operating System: All
> Platform: All
>            Reporter: Jackey Cheong
>         Assigned To: Martin Cooper
>            Priority: Minor
>         Attachments: fileArray.patch, objectArrayToScalar.patch
>
>
> Hello,
> I think We can have multiple "file" input elements with same name in the 
> form, 
> as well as other type of input element.
> for example,
> <input type="file" name="file1"/>
> <input type="file" name="file1"/>
> <input type="file" name="file1"/>
> But, current "CommonsMultipartRequestHandler" class seems to be not able to 
> this case. 
> I think we need change this class code as following.
> CommonsMultipartRequestHandler.addFileParameter()
> =========== current =============
>         FormFile formFile = new CommonsFormFile(item);
>         elementsFile.put(item.getFieldName(), formFile);
>         elementsAll.put(item.getFieldName(), formFile);
> =========== my suggestion =============
>       String name = item.getFieldName();
>         FormFile formFile = new CommonsFormFile(item);
>         FormFile[] oldArray = (FormFile[]) elementsFile.get(name);
>         FormFile[] newArray;
>         if (oldArray != null) {
>             newArray = new FormFile[oldArray.length + 1];
>             System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
>             newArray[oldArray.length] = formFile;
>         } else {
>             newArray = new FormFile[] { formFile };
>         }
>         elementsFile.put(name, newArray);
>         elementsAll.put(name, newArray);
> Best Regards.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to