Better? https://struts.staged.apache.org/core-developers/action-file-upload https://struts.staged.apache.org/core-developers/file-upload
czw., 14 mar 2024 o 15:29 Greg Huber <gregh3...@gmail.com> napisał(a): > > Sorry, I meant we need to copy/duplicate this page : > > https://struts.apache.org/core-developers/file-upload.html > > to an *action* version: > > https://struts.apache.org/core-developers/action-file-upload.html > > and modify it for the new interceptor methods/logic > > On Thu, 14 Mar 2024 at 12:42, Łukasz Lenart <lukasz.len...@gmail.com> wrote: > > > Done > > https://github.com/apache/struts-site/pull/231 > > > > czw., 14 mar 2024 o 11:35 Greg Huber <gregh3...@gmail.com> napisał(a): > > > > > > There is a really good page for the old upload > > > > > > https://struts.apache.org/core-developers/file-upload.html > > > > > > But the << back to Core Developers Guide does not make it easy to find > > > it again. > > > > > > ## > > > > > > https://struts.apache.org/core-developers/action-file-upload-interceptor > > > > > > would benefit a similar detail page, updated and with the stream stuff. > > > > > > return > > this.uploadedFiles.stream().map(UploadedFile::getContentType).toArray(); > > > > > > otherwise without streams > > > > > > List<UploadedFile<File>>uploads =this.uploadedFiles; > > > > > > if(uploads !=null&&uploads.size()>0){ > > > > > > for(inti =0;i <uploads.size();i++){ > > > > > > String file uploads.get(i).getOriginalName(); > > > > > > // destroy the temporary file created > > > > > > uploads.get(i).delete(); > > > > > > } > > > > > > } > > > > > > On 12/03/2024 19:48, Lukasz Lenart wrote: > > > > pon., 26 lut 2024 o 12:08 Greg Huber<gregh3...@gmail.com> napisał(a): > > > >> The documentation only lists one file > > > >> > > > >> |public void withUploadedFiles(List<UploadedFile> uploadedFiles) { if > > > >> (!uploadedFiles.isEmpty()) { this.uploadedFile = uploadedFiles.get(0); > > > >> this.fileName = uploadedFile.getName(); this.contentType = > > > >> uploadedFile.getContentType(); this.originalName = > > > >> uploadedFile.getOriginalName(); } }| > > > >> > > > >> For multiple files these need populating > > > >> > > > >> privateFile[]uploadedFiles=null; > > > >> > > > >> privateString[]uploadedFilesContentType=null; > > > >> > > > >> privateString[]uploadedFilesFileName=null; > > > >> > > > >> We have to loop and do it ourselves now? > > > > Basically it would be better to stop using additional fields if not > > > > needed. You can achieve the same behaviour just exposing getters > > > > extracting what's needed from "uploadedFiles", eg: > > > > > > > > public void withUploadedFiles(List<UploadedFile> uploadedFiles) { > > > > this.uploadedFiles = uploadedFiles; > > > > } > > > > > > > > public String[] getUploadedFilesContentType() { > > > > return > > this.uploadedFiles.stream().map(UploadedFile::getContentType).toArray(); > > > > } > > > > > > > > etc. > > > > > > > > > > > > Cheers > > > > Lukasz > > > > > > > > --------------------------------------------------------------------- > > > > 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 > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org