IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Servlet/JSP affichage d'une image


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Servlet/JSP affichage d'une image
    Bonjour,
    Pour une application distribuée je desire envoyer une image sur le serveur Tomcat avec une jsp et afficher cette image sur la meme jsp.

    Avez vous un idée pour faire ceci svp?


    Pour info jutilise L'api fileUpload commons dans ma jsp.

    voici le code de ma servlet qui affiche une image stockée sur le serveur dans le naviguateur.

    DisplayImageServlet.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException { 
     
     
    HttpSession session = req.getSession(); 
     
    ServletContext sc = getServletContext(); 
    String filename = sc.getRealPath("1-30.jpg"); 
    // Get the MIME type of the image 
    String mimeType = sc.getMimeType(filename); 
    if (mimeType == null) { 
    sc.log("Could not get MIME type of "+filename); 
    resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 
    return; 
    } 
     
    // Set content type 
    //resp.setContentType(mimeType); 
    // Set content size 
    File file = new File(filename); 
    resp.setContentLength((int)file.length()); 
    // Open the file and output streams 
    FileInputStream in = new FileInputStream(file); 
    //OutputStream ou = resp.getOutputStream(); 
    // Copy the contents of the file to the output stream 
     
    resp.setContentType("image/jpeg" ); 
    BufferedOutputStream out2 = new BufferedOutputStream(resp.getOutputStream()); 
    byte by[] = new byte[ 32768 ]; 
    int index = in.read( by, 0, 32768 ); 
    while ( index != -1 ) 
    { 
    out2.write( by, 0, index ); 
    index = in.read( by, 0, 32768 ); 
    } 
    out2.flush(); 
    }
    Merci d'avance!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Dans ton exposé 2 pb à traiter:

    1- pour envoyer une image sur le serveur et l'y enregistrer il te faut des droits RW. Pour une appli distribuée, c'est pas clean.
    Orientes-toi plutôt vers un archivage en bdd enregistré en byte.

    2- pour la restitution, dans ta jsp tu appelles un lien redirigé vers une servlet de traitement via le web.xml qui après interro bdd enverra le tableau de byte avec les types mime associés.

Discussions similaires

  1. [Tomcat] Affichage d'une image sur une JSP
    Par S.Jihad dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 19/11/2010, 15h31
  2. JSP+Struts - Affichage d'une image
    Par PtiFilou dans le forum Struts 1
    Réponses: 35
    Dernier message: 02/09/2010, 09h39
  3. initialisation de servlet avant affichage d'une jsp
    Par rewok dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/02/2010, 14h13
  4. Réponses: 4
    Dernier message: 24/03/2009, 10h19
  5. affichage d'une image avec les servlets
    Par hassanovich dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/11/2006, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo