Le téléchargement de plusieurs fichiers à l'aide de jsp & servlets

Je suis actuellement en train de travailler sur une application web dynamique que je veux que l'utilisateur soit capable de télécharger plusieurs fichiers à la fois pour l'application à utiliser. Je ne sais pas combien de fichiers que l'utilisateur peut télécharger à la fois; il peut être de 2 ou peut-100+ fichiers. Je suis nouveau sur JSP applications web dynamiques et j'ai commencé avec un seul chargement de fichier, mais je ne suis pas vraiment sûr où aller à partir d'ici. J'ai regardé quelques exemples de recherche, mais je n'ai pas été en mesure de trouver exactement ce que je cherchais. C'est ce que j'ai à ce jour:

Servlet:

package Servlets;
import java.io.File;  
import java.io.IOException;  
import java.io.PrintWriter;  
import java.util.Iterator;   
import java.util.List;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import org.apache.commons.fileupload.FileItem;  
import org.apache.commons.fileupload.FileItemFactory;  
import org.apache.commons.fileupload.FileUploadException;  
import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
import org.apache.commons.fileupload.servlet.ServletFileUpload;  
public class UploadServlet extends HttpServlet 
{  
private static final long serialVersionUID = 1L;
@Override  
protected void doPost(HttpServletRequest request, HttpServletResponse response)  
throws ServletException, IOException 
{  
boolean isMultipart = ServletFileUpload.isMultipartContent(request);  
response.setContentType("text/html");  
PrintWriter out = response.getWriter();  
if (isMultipart) 
{  
//Create a factory for disk-based file items  
FileItemFactory factory = new DiskFileItemFactory();  
//Create a new file upload handler  
ServletFileUpload upload = new ServletFileUpload(factory);  
try 
{  
//Parse the request  
List items = upload.parseRequest(request);  
Iterator iterator = items.iterator();  
while (iterator.hasNext()) 
{  
FileItem item = (FileItem) iterator.next();  
if (!item.isFormField())  
{  
String fileName = item.getName();      
String root = getServletContext().getRealPath("/");  
File path = new File(root + "/uploads");  
if (!path.exists())  
{  
boolean status = path.mkdirs();  
}  
File uploadedFile = new File(path + "/" + fileName);  
System.out.println(uploadedFile.getAbsolutePath());  
if(fileName!="")  
item.write(uploadedFile);  
else  
out.println("file not found");  
out.println("<h1>File Uploaded Successfully....:-)</h1>");  
}  
else  
{  
String abc = item.getString();  
out.println("<br><br><h1>"+abc+"</h1><br><br>");  
}  
}  
} 
catch (FileUploadException e) 
{  
out.println(e);  
} 
catch (Exception e) 
{  
out.println(e);  
}  
}  
else  
{  
out.println("Not Multipart");  
}  
}  
}

.Fichier JSP:

<form method="post" action="UploadServlet" enctype="multipart/form-data">
Select file to upload:
<p><input type="file" name="dataFile" id="fileChooser" />&nbsp;
<input type="submit" value="Upload" multiple="multiple" /></p>
</form>

Je suis à la recherche d'un moyen de télécharger plusieurs fichiers à la place de l'un et de les afficher dans une liste.

  • Qu'est-ce qui est le problème que vous rencontrez avec le code ci-dessus?
  • Cela me permet de télécharger un seul fichier, je suis à la recherche d'une certaine orientation à comment je peut télécharger plusieurs fichiers.
  • stackoverflow.com/questions/19510656/...
InformationsquelleAutor user3029610 | 2013-11-25