Looks good, but what happened to the examples with the stream stuff?
Something like this for MultipleFileUploadUsingArrayActionusing arrays
example?
public class MultipleFileUploadUsingArrayAction extends ActionSupport
implements UploadedFilesAware {
private List<UploadedFile<File>> uploads = null;
public String upload() throws Exception {
System.out.println("\n\n upload2");
System.out.println("files:");
for (UploadedFile<File> uploadedFile : this.uploads) {
System.out.println("*** " + uploadedFile.getOriginalName()
+ "\t"
+ uploadedFile.getContentType() + "\t"
+ uploadedFile.length());
}
System.out.println("filenames:");
String[] uploadFileNames = getUploadedFilesFileNames();
for (String n : uploadFileNames) {
System.out.println("*** " + n);
}
System.out.println("content types:");
String[] uploadContentTypes = getUploadedFilesContentType();
for (String c : uploadContentTypes) {
System.out.println("*** " + c);
}
System.out.println("\n\n");
return SUCCESS;
}
@Override
public void withUploadedFiles(List<UploadedFile<File>> uploadedFiles) {
this.uploads = uploadedFiles;
}
private String[] getUploadedFilesFileNames() {
return this.uploads.stream().map(UploadedFile::getOriginalName)
.toArray(size -> new String[size]);
}
private String[] getUploadedFilesContentType() {
return this.uploads.stream().map(UploadedFile::getContentType)
.toArray(size -> new String[size]);
}
}
On 17/03/2024 09:33, Lukasz Lenart wrote:
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