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 :

Upload image sur page web puis MYSQL


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste Programmeur Mainframe/NTIC
    Inscrit en
    Novembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur Mainframe/NTIC

    Informations forums :
    Inscription : Novembre 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Upload image sur page web puis MYSQL
    Bonjour,

    Mon français n'est pas parfait car je suis anglophone.

    Je cherche des code source sur JAVA/J2EE me permettant:

    1- De faire un upload des images ou video dans une application web puis les stocker dans une base MYSQL,

    2- Ensuite recuperer mes imageS ou video stocké dans MYSQL pour afficher sur la page web.


    Merci de m'aider si vous pouvez.

  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
    Bonjour

    Pour stocker en bdd inspire-toi de ce qui suit, le fichier étant déjà chargé dans le rep tmp du serveur:
    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
     
    public static void archive(final String FileName)  throws IOException, FileNotFoundException, SQLException {
    		File file = new File(FileName);
    //System.out.println(FileName+"-"+(int)file.length());
    		FileInputStream stream;
     
    		try{
    			stream = new FileInputStream(file);
    		}catch(final FileNotFoundException e){return;}
     
    		Connection conn = gestionBdd.PoolDeConnexion.getConnection();
     
    		try{//préparation de l'instruction SQL
    		    String sql = (FileName.indexOf(".xls")>-1? "UPDATE t_parametre SET DAED = ?":"UPDATE t_parametre SET LOGO = ?");
    		    PreparedStatement stmt = conn.prepareStatement(sql);
     
    		    //insertion de l'image
    		    stmt.setBinaryStream(1, stream, (int)file.length());
    		    stmt.executeUpdate();
    		    stmt.close();
    		    conn.close();
    		    stream.close();
    //System.out.println("ferme conn");
    		 }catch(Exception e){e.printStackTrace();}
    		 finally {try{if(conn!=null){conn.close();}}catch(Exception e){}
    		 		  try{if(stream!=null){stream.close();}}catch(Exception e){}}
     
    		}
    et pour la lecture:

    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
    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
     
    import java.io.FileInputStream;
    import java.io.InputStream;
     
    import java.io.IOException;
    import java.io.OutputStream;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    /**
     * class permettant la personalisation de l'appli par insertion d'un logo enregistré en bdd<br />
     * - Revoie un flux de byte<br />
     * @param request la requête du client
     */
     
    public class Img extends HttpServlet   {
     
    	static final long serialVersionUID = 133L;
     
    	public void doGet(final HttpServletRequest request, final HttpServletResponse response) 
    	throws IOException, ServletException {
    		Connection conn = null;
    		ResultSet rs = null;
    		Blob blob = null;
    		byte[] filebyte = null;
    		String file = "";
     
     
    		//récupération du fichier stocké en bdd
    		file = "images/logo.gif";
    		String sql = "SELECT LOGO FROM t_parametre LIMIT 1";
    		if(index.GestMat.timerInitialise)
    			{try{conn = gestionBdd.PoolDeConnexion.getConnection();
    				 rs = conn.createStatement().executeQuery(sql);
    				 if(rs.next())
    					{blob = rs.getBlob(1);
    					try{
    						filebyte = blob.getBytes(1,(int)blob.length());}
    					catch(final NullPointerException npe){filebyte = fileWebContent(file);}}
    				rs.close();
    				conn.close();
    			}catch(final SQLException e){}
    			finally{try{if(rs !=null){rs.close();rs=null;}}catch(final SQLException e){};
    					try{if(conn !=null){conn.close();conn=null;}}catch(final SQLException e){};}}
    			else
    				{filebyte = fileWebContent(file);}
     
    			if(filebyte==null){filebyte = fileWebContent(file);}
     
    			if (filebyte != null) 
    				{response.reset();
    				response.setHeader("Cache-control", "Public, max-age=31536000, must-revalidate");
    				response.setHeader("Expires", index.GestMat.dteHeaderExpire);
    				response.setContentType("image/gif");
    				OutputStream os = response.getOutputStream();
    				os.write(filebyte);
    				os.flush();
    				os.close();}
     
    		}
     
    	/**
    	 * Récupération d'un tableau de byte du fichier passé en arg
    	 * @return
    	 */
    	public byte[] fileWebContent(String file){
    		String FileName = this.getServletContext().getRealPath(file);
    		byte[] fileWebContent = null;
    		try{
    			InputStream ips = new FileInputStream(FileName);
    			int taille = ips.available() ;
    			fileWebContent = new byte[taille]; 
    			ips.read(fileWebContent) ;
    			ips.close();
    		}catch(final Exception ioe){ioe.printStackTrace();}
    		return(fileWebContent);
     
    	}
     
    }

Discussions similaires

  1. Image png sur page web
    Par Incognito87 dans le forum Webdesign & Ergonomie
    Réponses: 5
    Dernier message: 02/04/2015, 12h09
  2. [PHP 5.3] Upload images sur serveur web
    Par perles dans le forum Langage
    Réponses: 2
    Dernier message: 13/11/2009, 18h06
  3. [VB]Récuperer Image sur serveur Web
    Par Menthe_a_l_eau dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/02/2006, 11h16
  4. Lecteur Multimedia sur page Web
    Par beegeesman dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 17/01/2006, 01h15
  5. ShellExecute - Access Denied sur page web
    Par Neilos dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/10/2005, 13h04

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