1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| package com.servlets;
import javax.servlet.http.HttpServlet;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Part;
@WebServlet(name = "Integration", urlPatterns = {"/integration"})
@MultipartConfig
public class Integration extends HttpServlet {
private final static Logger LOGGER =
Logger.getLogger(Integration.class.getCanonicalName());
public static final String VUE_SUCCES = "/WEB-INF/rapportIntegration.jsp";
public static final String VUE_FORM = "/WEB-INF/integration.jsp";
public static final String CHAMP_DESCRIPTION = "description";
public static final String CHAMP_FICHIER = "fichier";
public void init() throws ServletException {
/* connexion a la base de donnée */
}
public void doGet( HttpServletRequest request,
HttpServletResponse response ) throws ServletException, IOException
{
/* À la réception d'une requête GET, simple affichage du
formulaire */
this.getServletContext().getRequestDispatcher( VUE_FORM).forward( request, response );
}
public void doPost( HttpServletRequest request,
HttpServletResponse response ) throws ServletException, IOException
{
/*
final String path = "C:\Users\....\Documents\destination";
String description = request.getParameter( CHAMP_DESCRIPTION );
Part part = request.getPart( CHAMP_FICHIER );
String nomFichier = getNomFichier(part);
OutputStream out = null;
InputStream contenu = null;
final PrintWriter writer = response.getWriter();
try {
out = new FileOutputStream(new File(path + File.separator
+ nomFichier));
contenu = part.getInputStream();
int read = 0;
final byte[] bytes = new byte[1024];
while ((read = contenu.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
writer.println("New file " + nomFichier + " created at " + path);
LOGGER.log(Level.INFO, "File{0}being uploaded to {1}",
new Object[]{nomFichier, path});
} catch (FileNotFoundException fne) {
writer.println("You either did not specify a file to upload or are "
+ "trying to upload a file to a protected or nonexistent "
+ "location.");
writer.println("<br/> ERROR: " + fne.getMessage());
LOGGER.log(Level.SEVERE, "Problems during file upload. Error: {0}",
new Object[]{fne.getMessage()});
} finally {
if (out != null) {
out.close();
}
if (contenu != null) {
contenu.close();
}
if (writer != null) {
writer.close();
}
}
if ( nomFichier != null && !nomFichier.isEmpty() ) {
String nomChamp = part.getName();
request.setAttribute( nomChamp, description );
}
this.getServletContext().getRequestDispatcher( VUE_SUCCES ).forward(request, response );
}
public String getNomFichier(Part part) {
final String partHeader = part.getHeader("content-disposition");
LOGGER.log(Level.INFO, "Part Header = {0}", partHeader);
for (String content : part.getHeader("content-disposition").split(";")) {
if (content.trim().startsWith("filename")) {
return content.substring(
content.indexOf('=') + 1).trim().replace("\"", "");
}
}
return null;
}
} |
Partager