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