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

Reply via email to