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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
| package servlets;
import classes.Datas;
import classes.Objet;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author pj
*/
public class DisplayPhoto extends HttpServlet {
private String idPhoto;
private Objet obj;
private String extension;
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//response.setContentType("text/html;charset=UTF-8");
//PrintWriter out = response.getWriter();
try {
//out.print("photo");
/* TODO output your page here
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet DisplayPhoto</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet DisplayPhoto at " + request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");
*/
} finally {
//out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getParameter("id")==null)
processRequest(request, response);
else
{
String mini;
if(request.getParameter("mini")==null)
mini="";
else
mini="mini"+request.getParameter("mini");
try {
this.idPhoto = request.getParameter("id");
this.obj = new Objet();
obj.connect();
String query = "SELECT extension FROM table_photos WHERE id=?";
PreparedStatement prepare = obj.getConnect().prepareStatement(query);
prepare.setInt(1, Integer.parseInt(this.idPhoto));
ResultSet result=prepare.executeQuery();
result.next();
String filename=mini+this.idPhoto.toString()+result.getString("extension");
result.close();
prepare.close();
String vraiFichier=Datas.uploadDir+"photos/"+filename;
File file=new File(vraiFichier);
this.extension=(vraiFichier.substring(vraiFichier.lastIndexOf("."))).toLowerCase();
this.extension=this.extension.substring(1);
BufferedImage buffer = ImageIO.read(file);
String format;
if(extension.equals("jpg"))
{
response.setContentType("image/jpeg");
format="JPEG";
}
else
{
response.setContentType("image/"+extension);
format=extension.toUpperCase();
}
OutputStream os = response.getOutputStream();
ImageIO.write(buffer, format, os);
os.close();
} catch (SQLException ex) {
Logger.getLogger(DisplayPhoto.class.getName()).log(Level.SEVERE, null, ex);
processRequest(request, response);
}
}
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
} |
Partager