Stocker une image dans une BDD Mysql / jsp

Résolu/Fermé
java - 31 oct. 2011 à 14:56
 java - 29 nov. 2011 à 09:24
Bonjour,
J'ai rencontré un problème au niveau stockage des images dans une base de données MySQL
Quand je déployé mon projet je le teste dans un autre ordinateur au réseau il m'affiche le message des erreurs :
Java.io.FileNotFoundException :monimage.jpg (le fichier spécifié est introuvable)
Au niveau localhost je reconnais aucun problème mais au niveau réseau impossible d'ajouter l'image dans la BDD
J'ai créé mon projet avec Servlet /jsp , BDD MySQL
Voila le code d'ajouter une image dans BDD MySQL/ jsp :
Ce code existe dans un Servlet :
*****
FileInputStream fis;
String imgs=request.getParameter("imgs");
//imgs c'est le chemin d'image dans la page jsp
File image = new File(imgs);
fis = new FileInputStream(imgs);
prst.setBinaryStream(2, fis, (int) image.length());

***

Aide de moi s'il vous plait de trouvée la solution et merci d'avance



11 réponses

Bonjour
Première mot merci beaucoup arth pour votre réponse, deuxième chose quand je teste mon application je ne le teste pas dans mon ordinateur« localhost »mais dans un autre avec mon adresse IP pour accéder a la base de donnée qui est existe dans mon poste donc comment je peux régler ce problème .Servlet ne fonctionné pas ou quoi ?
Problème existe leur d'ajout, ajouter une image existe dans autre ordinateur dans ma BDD MySQL il ne connaît pas le chemin d'image donc il m'affiche le message « FileNotFound »
Merci d'avance
1
Bonjour ;
Je ne sais pas ou se trouve problème dans le fichier logs qui existe dans Tomcat.
Et merci pour votre aide.
1
Je n'ai pas encore trouvée la solution
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
16 nov. 2011 à 16:39
Il faut regarder les logs Tomcat dans le dossier logs.
0
Bonjour
J'ai trouvée la solution voici le lien :
http://www.roseindia.net/answers/viewqa/JSP-Servlet/18194-Jsp-Upload.html
1
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
31 oct. 2011 à 19:03
Ceci est normal.

Ta servlet va récupérer ton fichier en local.

Hors quand celle-ci est sur ton serveur, elle va essayer d'ouvrir le fichier sur le serveur, et non plus sur ton poste.

Du coup, FileNotFound.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
31 oct. 2011 à 23:30
Donc pour récapituler, j'ai pas tout saisi.

Lorsque vous exécuté la Servlet, celle-ci est déployée sur votre poste dans Tomcat ou autre? Ou sur un poste distant?

La base de données elle est sur quel poste?

Avec un schéma ce serait bien en fait :-)

0
Bonjour,
Merci arth pour votre réponse

*********schéma********

(Mon ordinateur)(Serveur)
Quand je fais l'insertion ici je ne reconnais aucun problème la BDD existe ici dans ce poste
|
|
|

(Ordinateur 2)(Client)
Qui ne comporte pas BDD, j'ai fait le test dans ce poste, l'insertion ne fonctionne pas « FileNotFound »

*******
et merci d'avance
0
c.f.m.o.t.i Messages postés 3 Date d'inscription mardi 16 septembre 2008 Statut Membre Dernière intervention 1 novembre 2011
1 nov. 2011 à 11:35
Bjr
pour bien précisé le problem et mieux comprondre

PC1 (apatche,BDD) = serveur et client
lors de l'inserstion depui PC1 l'image s'ajoute sans blém

PC2 (poste distant ) = clien
PC2 execute l'ajout mais l'erreur Java.io.FileNotFoundException :monimage.jpg (le fichier spécifié est introuvable) ce déclanche
java est ce que j'ai bien compris ton probléme
aussi j'ai le même probléme
merci pour votre aide
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
1 nov. 2011 à 12:44
OK donc c'est pas comme je pensais :-)

Le mieux serait alors de regarder les logs de Tomcat, dans le fichier des erreurs pour comprendre quel fichier il veut ouvrir lors de l'exécution de la servlet depuis le poste client.
0
Bonjour
Voila ce que me donne le fichier logs qui existe dans Tomcat :

17 nov. 2011 10:49:58 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_17\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.6.0_17\bin
17 nov. 2011 10:49:58 org.apache.coyote.http11.Http11Protocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
17 nov. 2011 10:49:58 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 813 ms
17 nov. 2011 10:49:58 org.apache.catalina.core.StandardService start
INFO: D?marrage du service Catalina
17 nov. 2011 10:49:58 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
17 nov. 2011 10:49:58 org.apache.catalina.core.StandardContext resourcesStart
GRAVE: Erreur lors du d?marrage des Resources statiques
java.lang.IllegalArgumentException: Le document base E:\Servlet\app1 n'existe pas ou n'est pas un r?pertoire lisible
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)
et merci beaucoup arth.
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
17 nov. 2011 à 19:48
Les erreurs suivantes sont à corriger :

GRAVE: Erreur lors du d?marrage des Resources statiques
java.lang.IllegalArgumentException: Le document base E:\Servlet\app1 n'existe pas ou n'est pas un r?pertoire lisible
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)
0
Comment je peux corrigée ces erreurs ? et merci
0