begin process at 2012 02 15 17:06:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Réseau & internet

 > 

Servlet

 > 

Insérrer un fichier dans une base de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insérrer un fichier dans une base de données

lundi 28 août 2006 à 16:30:21 | Insérrer un fichier dans une base de données

rakyouna

Slt à tous,

Je veux enregistrer un fichier, qui sera saisi à partir d'un formulaire, dans une base de données MySQL.
Voici un extrait de mon formulaire HTML:

......
<TD> Saisir un fichier : </TD>
<TD> <input type="file" name="fichier" id="fichier"/> </TD> 
......

et un extrait de ma Servlet:

.....
String file   = request.getParameter("fichier");
.....
query = "Insert into MaTable(tab_file) Values(" + file + ")";
.....

(Le champs tab_file est de type BLOB)
Ce code ne marche pas et n'inserre pas le chemin du fichier ds la Base de Données.

La requête suivante marche sans pb quand je l'exécute directement sur la console de MySQL:

Insert into MaTable(tab_file) values (LOAD_FILE("C:/Fichier1.txt"));

Qu'elle est la solution  ?????

lundi 28 août 2006 à 21:32:24 | Re : Insérrer un fichier dans une base de données

Ombitious_Developper

Salut :

Pour insérer un fichier dans une base de données on peut utiliser les PreparedStatement.
Vu que je ne connais pas les champs de votre table, je vais supposé que votre table s'appelle myTable et qu'elle contient un seul champ celui contenant le fichier.
(La démarche restera toujours valable)

   // path : correspond au chemin absolu où se trouve le fichier
   File file = new File (path);
   FileInputStream inputStream = new FileInputStream (file);

   try {
      PreparedStatement preStmt;
      // Supposons que vous avez un objet de type Connection "connect"
      preStmt = connect.prepareStatement ("INSERT INTO myTable VALUES (?)");
      
      try {
         // Vu que votre fichier est ASCII on utilise "setAsciiStream"
         // Sinon on utilise "setBinaryStream"
         // 1 ici correspond au rang du champ dans la requête

         preStmt.setAsciiStream (1, inputStream, (int)file.length ());
         preStmt.executeUpdate ();
      }
      finally {
         preStmt.close ();
      }
   }
   finally {
      inputStream.close ();
   }

mardi 29 août 2006 à 13:03:09 | Re : Insérrer un fichier dans une base de données

rakyouna

Salut,
Mç pour la reponse. Le code ci-dessus marche bien. Je l'ai modifié un peu comme suit:

public void sauveIMG(Connection conn, String location, String name) throws Exception
     {
       File monImage = new File(location);
       FileInputStream istreamImage = new FileInputStream(monImage);
       try
       {
         PreparedStatement ps = conn.prepareStatement("insert into myTable (name, img) values (?,?)");
         try
         {
           ps.setString(1, name);
           // setAsciiStream() : si le fichier est ASCII
           // setBinaryStream() : si fichier image par exp
           // 2 est le rang du champ "img"
           ps.setBinaryStream(2, istreamImage, (int) monImage.length());
           ps.executeUpdate();
         }
         finally
         {
           ps.close();
         }
       }
       finally
       {
         istreamImage.close();
       }
     }

Puis je fais l'appel suivant:
sauveIMG(connection, "C:/logo.gif", "logo");

Mais il me reste le pb de recuperation du path du fichier à partir d'un formulaire HTML:

La ligne suivante :
 out.println("<p><b>Logo : " + request.getParameter("fichier"));
m'affiche: "Logo : null" sur la servlet au lieu d'afficher le path.

g les lignes suivants ds le formulaire:
......
<TD> Saisir un fichier : </TD>
<TD> <input type="file" name="fichier" id="fichier"/> </TD> 
......

??????

mercredi 30 août 2006 à 12:55:10 | Re : Insérrer un fichier dans une base de données

rakyouna

Salut à tous,

Comment récupérer, dans une Servlet, le chemin d'un fichier saisi dans un formulaire HTML?
Le formulaire contient:

......
<TD> Saisir un fichier : </TD>
<TD> <input type="file" name="fichier" id="fichier"/> </TD> 
......

La méthode  request.getParameter("fichier")) ne me permet pas de récupérer le chémin du fichier  !



Cette discussion est classée dans : fichier, base, données, file, tab


Répondre à ce message

Sujets en rapport avec ce message

extaire les données d'un fichier XMl et les enregistrer dans une base de donnée access [ par maytica ] je veut analyser un fichier XMl et extraire ses données pour les enregistrer dans une base de donnée "access",j'essayer pas mal de fois mais ça n'a p exporter des données access vers un fichier excel [ par munisys ] salut,j ai besoin d aide !!!!c'est urgent svp.En fait, je programme une application en java.et donc je dois creer un bouton ...une fois je clique dess InputStream a String coder type Mime base 64 ?? [ par littlenemo ] Bonjour ou Bonsoir...Je suis dans le cadre de mon stage de fin d'etude sur la conseption d'un servelette utilisant un serveur Apache/WebDav.Donc pour une base de données embarquée en 1 seul fichier [ par romuluslepunk ] Bonjour,Je cherche un systeme de base de données pouvant être embarqué, gratuit et multiplateforme.J'ai essayé hsqdb et derby mais elles sont structur Problème de Connexion MS Access et Java [ par eclisia ] Bonjour,</fon java et base de données fichier [ par youri01 ] Bonjour, je suis débutant en java, je souhaite me lancer dans la réalisation d'applications de gestion de base de données. par exemple : une applica enregistrer un système de fichier dans une base de données [ par habitech ] Salut, j'ai un projet plutot embettant.Je dois enregistrer l'arborescence d'un disque dans une base de données (j'utilise mysql) et pouvoir la restitu extraction des données d'un fichier HTML et les remettre dans une base de données [ par kawtarinpt ] bonjour j'ai besoin dans mon application d'extraire des données d'un fichier HTML et les remettre dans une base de données Oracle. Alors, j'aimerais b comment insérer des données dans ma base via java [ par nam90 ] bonjour à tous,je voulais savoir comment je peux insérer des données qui se trouve un fichier excel directement dans ma base sans faire insert into ma problème applet et base de données mysql + ressources local [ par akramou1111 ] salut! j'ai crée une applet qui affiche l'interface d'une cam et consulte un fichier texte,prend la 1ere ligne du fichier et capte une photo et l'enre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales