import javax.servlet.http.*; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import java.io.FileInputStream; import java.io.BufferedInputStream; import java.io.File; /** *

Titre :

* *

Description : Servlet d'upload de fichier

* *

Copyright : Copyright (c) 2001

* *

Société : Hardis

* * @author non attribuable * @version 1.0 */ public class sampleLoadFile extends HttpServlet { public sampleLoadFile() { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String fileName = request.getParameter("FIL"); // Le nom du fichier est relatif au repertoire de la Webapp. // Ex : doc/mon_doc.doc correspond au fichier mon_doc.doc dans le sous-repertoire doc de la Webapp String mimeType = request.getParameter("MIME"); // Type mime du fichier // Cf http://www.w3schools.com/media/media_mimeref.asp // Attention : les navigateurs ne reconnaissent pas tous les types mime // Ex: Pour un fichier PPT : // application/powerpoint ok pour IE // application/vnd.ms-powerpoint ok pour FF ServletOutputStream out = response.getOutputStream(); FileInputStream fis; File file; int bytesRead; byte tab [] = new byte[1000]; // Creation du fichier dont le path est donne par le parametre FIL file = new File(request.getSession().getServletContext().getRealPath(fileName)); fis = new FileInputStream (file); response.setContentLength((int) file.length()); response.setContentType(mimeType); // Eviter que le flux HTTP soit stocke dans le cache du navigateur response.setHeader("Cache-Control", "max-age=0; private; must-revalidate"); response.setHeader("Pragma", "private"); // Lecture du fichier et copie dans la reponse HTTP while ((bytesRead = fis.read(tab)) != -1) out.write(tab, 0, bytesRead); fis.close(); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { this.doGet(request, response); } }