struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Hardy <>
Subject Re: multipart-request / file upload problem
Date Mon, 01 Mar 2004 21:07:10 GMT
Thanks for the exposé. :)  So it's worse than I feared! Well, I shall 
just come up with a convincing error message in those situations where I 
would have needed it, rather than try to force a square peg somewhere it 
doesn't want to go.


On 03/01/2004 08:23 PM Martin Cooper wrote:
>>I'm going to put this another way: what's the secret with file upload
>>requests? I can't see my file parameter in the request parameters when I
>>submit the form with the multipart-request.
> Ah, if I told you that, it wouldn't be a secret any more, now would it? ;-)
> The biggest difference with multipart requests is that the request is
> wrapped by Struts, so when you invoke a method on the request object, you
> are actually invoking a method on the MultipartRequestWrapper class. This is
> necessary so that calls to, for example, getParameter() go to Struts, which
> parsed your request, rather than the container, which didn't.
> In the code fragment below, I see you are invoking getParameterMap(). Note
> that this is a Servlet 2.3 method. Since Struts 1.x is built for Servlet
> 2.2, that method is not implemented, and simply returns null.
> Actually, there isn't a way to get the file items from the request itself,
> since it doesn't have them. They're stored in the multipart request handler
> itself. So, you would get the set of uploaded file items like this:
>     Hashtable fileItems =
> formBean.getMultipartRequestHandler().getFileElements();
> I'll be the first to admit that the current multipart implementation is a
> little, um, arcane (not that I invented it ;). The plan is to completely
> rewrite it for Struts 2.x, when we get there.
> Hope this helps.
> --
> Martin Cooper
>>On 02/29/2004 07:05 PM Adam Hardy wrote:
>>>I use the Commons multipart request handler stuff to set up a
>>>DynaActionForm properly for my file upload so:
>>><form-bean  name="linklibImportForm"
>>>  type="org.apache.struts.validator.DynaValidatorActionForm">
>>>  <form-property name="bookmarksFile"
> type="org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFil
> e"/>
>>>which works fine, but in some circumstances I want to manually create
>>>this form, grab the file and save the DynaActionForm (in a filter). Like
>>>ActionForm form =
>>>  RequestUtils.createActionForm(request, actionMapping,
>>>  moduleConfig, actionServlet);
>>>form.reset(actionMapping, request);
>>>BeanUtils.populate(form, request.getParameterMap());
>>>But it isn't working. My file comes back as null. Anyone know why or
>>>have a solution?

struts 1.1 + tomcat 5.0.16 + java 1.4.2
Linux 2.4.20 Debian

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message