2020package org .apache .struts .example ;
2121
2222import org .apache .struts2 .ActionSupport ;
23+ import org .apache .struts2 .action .UploadedFilesAware ;
24+ import org .apache .struts2 .dispatcher .multipart .UploadedFile ;
2325
2426import java .io .File ;
27+ import java .util .Arrays ;
28+ import java .util .List ;
29+ import java .util .stream .Stream ;
2530
2631/**
2732 * <code>Allows upload a file</code>
2833 */
29- public class Upload extends ActionSupport {
34+ public class UploadAction extends ActionSupport implements UploadedFilesAware {
3035
3136 private File [] upload ;
3237 private String [] uploadFileName ;
@@ -36,27 +41,26 @@ public String execute() throws Exception {
3641 return INPUT ;
3742 }
3843
39- public File [] getUpload () {
40- return upload ;
44+ public String upload () throws Exception {
45+ return SUCCESS ;
4146 }
4247
43- public void setUpload ( File [] upload ) {
44- this . upload = upload ;
48+ public File [] getUpload ( ) {
49+ return upload ;
4550 }
4651
4752 public String [] getUploadFileName () {
4853 return uploadFileName ;
4954 }
5055
51- public void setUploadFileName (String [] uploadFileName ) {
52- this .uploadFileName = uploadFileName ;
53- }
54-
5556 public String [] getUploadContentType () {
5657 return uploadContentType ;
5758 }
5859
59- public void setUploadContentType (String [] uploadContentType ) {
60- this .uploadContentType = uploadContentType ;
60+ @ Override
61+ public void withUploadedFiles (List <UploadedFile > uploadedFiles ) {
62+ upload = uploadedFiles .stream ().map (UploadedFile ::getContent ).toArray (File []::new );
63+ uploadFileName = uploadedFiles .stream ().map (UploadedFile ::getName ).toArray (String []::new );
64+ uploadContentType = uploadedFiles .stream ().map (UploadedFile ::getContentType ).toArray (String []::new );
6165 }
6266}
0 commit comments