Ajouter un commentaire

apone

Salut,

si j'ai dis que la méthode copyFile() était correcte, c'est qu'à priori elle fonctionne vu que je l'ai testée et qu'elle remplie bien sa fonction pour la copie à la rachine de mon disque... Là voilà néanmoins :

public static void copyFile(File src, File dest) throws IOException {
         if (!src.exists()) throw new IOException("File not found '" + src.getAbsolutePath() + "'");
         
         BufferedOutputStream out   = new BufferedOutputStream(new FileOutputStream(dest));
         BufferedInputStream in     = new BufferedInputStream(new FileInputStream(src));
         
         byte[] read = new byte[128];
         int len = 128;
         while ((len = in.read(read)) > 0)
         out.write(read, 0, len);
         
         out.flush();
         out.close();
         in.close();
}

Par contre, j'aurai effectivement pu donner la trace de l'exception levée... Là voilà lorsque je modifie le path /EBouffeCorp/pictures (à la racine de mon disque) par le suivant : ress/products/ (qui lui se trouve dans mon workspace) :

------ java.io.FileNotFoundException: ress/products/IMAGE_TEST.png (No such file or directory) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.(FileOutputStream.java:179) at java.io.FileOutputStream.(FileOutputStream.java:131) at com.EBouffeCorp.Store.TempServlet.copyFile(TempServlet.java:27) at com.EBouffeCorp.Store.TempServlet.createForm(TempServlet.java:85) at com.EBouffeCorp.Store.TempServlet.doGet(TempServlet.java:101) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:613) ------

Pour répondre aux autres questions :

Quote:
D'abord sur quel OS est tu ?

Je suis sur Mac OS X, mais les tests de copie que j'ai effectués à la racine du disque fonctionnaient aussi sous Windows

Quote:
Il y a peut être déjà un problème de droits d'accès au répertoire du workspace

à priori : non (777)

Quote:
/EBouffeCorp/pictures/ est censé être compris comment par Java ?

et bien, je serai tenté de dire absolu, dans la mesure où la copie fonctionne très bien avec ce path, et à la racine du disque...

Quote:
Moi je doute que /EBouffeCorp/pictures/ corresponde bien à ce que tu veux faire.

Ce n'est effectivement pas ce que je cherche à faire. Ce répertoire m'a servi de test pour la fonction de copie uniquement. Le but "ultime" serai d'avoir les images dans ress/products/ de mon Workspace.

Comment décrire ? En gros : dans mon Worspace j'ai un dossier Web Pages, dans lequel se trouve mon index.jsp mais également un répertoire WEB-INF (dans lequel se trouvent le web.xml et le jboss-web.xml) et le fameux répertoire "ress".

Quote:
Enfin, si tu me le permets, tout ça c'est du bricolage.

Je te le permet, il n'y a pas de souci et je ne fait que confirmer ! C'est effectivement du bricolage, mais malheureusement je n'ai pas d'excellentes connaissances en Java (mon domaine c'est plutôt le réseau à la base!!).

Je ne cherche pas à faire le projet "parfait" car malheureusement j'ai beaucoup d'autre travail et que je n'ai pas le temps pour ça. Mon but, c'est de faire quelque chose qui fonctionne et qui je soit pas trop "crade".

Quote:
Tu utilises hsqldb ?

Oui

Quote:
l'approche qui s'impose est d'entrer tes images dans la base.

Dans le meilleur des monde, c'est effectivement ce que je devrai faire. Mais d'habitude je travaille plutôt sur du Oracle. L'utilisation d'hsqldb m'a été imposée, et je me rend compte qu'il y a pas mal de problèmes qui sont soulevés avec cette base.

Bien sûr son déploiement est très facile, mais je ne sais absolument pas comment importer des images dedans...

Cordialement,

Apone

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  CCC   SSS   X   X  EEEE  PPPP  
C S X X E P P
C SSS X EEE PPPP
C S X X E P
CCC SSSS X X EEEE P