No, I checked. The exception isn't raised, but this parsing returns empty list:

return createFileUpload().parseRequest(request);

Which is basically Commons FileUpload called all the way down. I checked the HTTP request being proper multipart in Chrome Inspector, and fileupload code recognizes it as such, but somehow it parses it like it doesn't ocntain any file items :-/

I don't think it is about java 8, but probably some combination of Spring Boot 2.0 + newest Tomcat + embedded version of it, or whatever...

As I said, the old version of the app uses Tapestry 5.3.7 + Commons FileUpload 1.2.1, whereas newer tapestry version use Commons FileUpload 1.3.1, but I tried downgrading this fileupload lib to 1.2.1 to no effect.

-Vjeran

On 06/19/2018 07:58 PM, Dmitry Gusev wrote:
Hi,

judging by the code you submitted, it should only return an empty list in
case of FileUploadException.

Did you try to attach with debugger and checking the exception object?

On Tue, Jun 19, 2018 at 7:28 PM, Vjeran Marcinko <
vjeran.marci...@email.t-com.hr> wrote:

  Hi,

I am upgrading my old Tapestry 4.3.7 app (java-7, standalone Tomcat...) to
newer tech stack (java 8, Spring Boot with embeddable Tomcat deployed as
single jar...). I wan't to leave tapestry untouched as much as possible, so
I just upgraded from 4.3.7 to 4.3.8 because of Java-8 requirement.

And practically everything works perfectly except that my Upload component
stopped working. It doesn't raise any error, its just that after form
submit, my UploadedFile instance is always null.

I debugged a bit, and found out that within Tapestry's
MultipartDecoderImpl there is this part that should parse FileItems from
HTTP request, but it always parses empty list. I udnerstand that here
Taestry uses Apache Commons-FileUpload, but I have no idea what has changed
for this to stop working properly?

protected List<FileItem>parseRequest(HttpServletRequest request)
{
     try {
         return createFileUpload().parseRequest(request); }catch
(FileUploadException ex)
     {
         uploadException = ex; return Collections.emptyList(); }
}

Dunno if Spring Boot and its embeeded Tomcat are making some difference
here...

Any idea?

-Vjeran





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to