Sorry, forgot to add this is not on the app engine! Was only testing the plugin functionality ie the filter and the listener. I assume the array comes from when running the webapp on the app engine?
On 24 November 2016 at 13:26, Lukasz Lenart <lukaszlen...@apache.org> wrote: > Hm... this can be an internal conversion of collection containing > uploaded files. Does your ajax upload allow upload multiple files at > once? > > 2016-11-24 14:18 GMT+01:00 Lukasz Lenart <lukaszlen...@apache.org>: > > How is that possible? I meant, parameters should always be passed as > > arrays, that's how HttpServletRequest works. Do you use custom > > implementation of MultiPartRequest? Could you share your upload logic, > > action and JSP/JavaScript? > > > > That's why JakartaMultiPartRequest (and other implementations as well) > > always creates an array, even if only one file is uploaded: > > https://github.com/lukaszlenart/struts/blob/WW- > 4717/core/src/main/java/org/apache/struts2/dispatcher/multipart/ > JakartaMultiPartRequest.java#L110-L118 > > > > > > Regards > > -- > > Łukasz > > + 48 606 323 122 http://www.lenart.org.pl/ > > > > 2016-11-24 12:13 GMT+01:00 Greg Huber <gregh3...@gmail.com>: > >> Seems to be this line in UploadedFileConverter: > >> > >> if (value.getClass().isArray() && Array.getLength(value) == 1) { > >> > >> where value == > >> org.apache.struts2.dispatcher.multipart.StrutsUploadedFile@62e25d8 > >> > >> and is not an array. > >> > >> this works: > >> > >> Object obj = null; > >> if (value.getClass().isArray() && Array.getLength(value) == > 1) { > >> obj = Array.get(value, 0); > >> } else { > >> obj = value; > >> } > >> if (obj instanceof UploadedFile) { > >> UploadedFile file = (UploadedFile) obj; > >> if (file.getContent() instanceof File) { > >> return file.getContent(); > >> } > >> return new File(file.getAbsolutePath()); > >> } > >> > >> This works for both my ajax and normal upload. > >> > >> On 23 November 2016 at 12:56, Lukasz Lenart <lukaszlen...@apache.org> > wrote: > >> > >>> Could someone tag that PR with :+1:? > >>> > >>> 2016-11-22 20:41 GMT+01:00 Lukasz Lenart <lukaszlen...@apache.org>: > >>> > All is good :) I have refactored the file upload logic a bit, cleaned > >>> > up and fixed some issues with wrong message keys. Also I added > >>> > dedicated converter to keep support for java.io.File so there is no > >>> > need for migration :) > >>> > > >>> > I've also developed a small GAE plugin which is using the mentioned > >>> > changes (that's why build cannot pass as a Struts SNAPSHOT is wrong > >>> > ;-)), tested it locally and everything works as expected :D > >>> > https://github.com/lukaszlenart/struts2-gea-plugin > >>> > > >>> > Can you take a look on that PR? > >>> > > >>> > > >>> > Thanks in advance > >>> > -- > >>> > Łukasz > >>> > + 48 606 323 122 http://www.lenart.org.pl/ > >>> > > >>> > 2016-11-22 9:44 GMT+01:00 Lukasz Lenart <lukaszlen...@apache.org>: > >>> >> Done, thanks Aaron :) Now I must test this solution with Google > >>> AppEngine ;-) > >>> >> > >>> >> 2016-11-22 7:49 GMT+01:00 Lukasz Lenart <lukaszlen...@apache.org>: > >>> >>> 2016-11-21 20:12 GMT+01:00 Aaron Johnson <johnson.aar...@gmail.com > >: > >>> >>>> Is it possible to have a converter from UploadedFile to File? The > >>> >>>> UploadedFile has a getContent() method that returns the File > object. > >>> >>> > >>> >>> Hm... it would be possible to add a converter, that should work :) > >>> >>> > >>> >>> > >>> >>> Regards > >>> >>> -- > >>> >>> Łukasz > >>> >>> + 48 606 323 122 http://www.lenart.org.pl/ > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org > >>> For additional commands, e-mail: dev-h...@struts.apache.org > >>> > >>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org > For additional commands, e-mail: dev-h...@struts.apache.org > >