Laden Sie mehrere Dateien gleichzeitig in eine Struts2 @Action hoch
Ich muss mit Struts2 "1000 Dateien" oder "eine Zip-Datei mit allen Dateien" auf einmal hochladen. (Mit 1000 Dateien oder einer Zip-Datei meine ich, dass alle Dateien auf das System hochgeladen werden müssen. Es spielt keine Rolle, ob der Benutzer alle 1000 Dateien auf einmal auswählt oder sie komprimiert und als einzelne Datei hochlädt. Deshalb suche ich nach die einfacher zu implementieren und effizienter ist)
Ich habe die folgenden Antworten gelesen, aber keine von ihnen entspricht dem Zweck.
Struts2-Datei hochladenWie kann ich mithilfe von HTTP POST mehrere Dateien mit HTML und PHP auswählen und hochladen?Verwenden Sie den folgenden Code, wenn Sie einfache Listendateien verwenden. Es zeigt den Namen von Listen an, aber wenn ich Listendateien verwende, zeigt es nichts an und ich kann die Dateien nicht hochladen.
upload.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="upload" enctype="multipart/form-data" method="post">
<input name="files" type="file" multiple/>
<button type="submit"/>
</form>
</body>
</html>
upload.java
@Action
public class upload implements Addresses {
private List <File> files = new ArrayList <File> ();
public String execute(){
return "success";
}
public upload() {
System.out.println("in upload 1");
for(int i=0;i<files.size();i++)
System.out.println(i + ")" + files.get(i));
System.out.println("in upload 2");
}
public List <File> getFiles() {
return files;
}
public void setFiles(List <File> files) {
this.files = files;
for(int i=0;i<files.size();i++)
System.out.println(i + ")" + files.get(i));
// File fileToCreate = new File("c:\image", files.get(i).toString());
// FileUtils.copyFile(files.get(i), fileToCreate);
}
}
Ausgabe
in upload 1
in upload 2