Transfert de fichier d'une applet vers une servlet

vincedav31 Messages postés 9 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 18 novembre 2008 - 6 sept. 2007 à 18:24
vincedav31 Messages postés 9 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 18 novembre 2008 - 7 sept. 2007 à 08:56
Salut,

Je suis débutant en java et je voudrais ecrire une applet qui envoi un fichier vers une servlet. La servlet l'enregistrera sur le disque du serveur.
Voici le code que j'ai fait :
Applet :
    void envoyer_actionPerformed(ActionEvent e) {
        try {
        URL urlservlet =   new URL("http://localhost:8080/servlets-examples/servlet/ServletSnapshot");
                     
        FileInputStream in = new FileInputStream("c:/myFile.jpg");
         byte[] tableauImage = new byte[5000];
        in.read(tableauImage); 
        in.close(); 
                     
        HttpURLConnection connImage = (HttpURLConnection)urlservlet.openConnection(); 
        connImage.setDoInput(true); 
        connImage.setDoOutput(true); 
        connImage.setUseCaches(false); 
        connImage.setRequestProperty("Content-Type","application/octet-stream");
        
        DataOutputStream out = new DataOutputStream(connImage.getOutputStream()); 
        out.write(tableauImage, 0, tableauImage.length); 
        out.flush(); 
        out.close();
        } catch (FileNotFoundException e1) {
            // TODO Bloc catch auto-généré
            e1.printStackTrace();
        } catch (IOException e2) {
            // TODO Bloc catch auto-généré
            e2.printStackTrace();
        } 
    }


et la servlet :
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        DataInputStream dis   = new DataInputStream(request.getInputStream()); 
        byte[] temp = new byte[5000];

        dis.readFully(temp); 
        dis.close(); 

//         Ecriture du fichier image sur le serveur 
        File cibleServeur = new File("c:/nomfichier.jpg"); 
        FileOutputStream fos = new FileOutputStream(cibleServeur); 
        fos.write(temp); 
        fos.close();
    }



Rien ne se passe et je n'ai pas de message d'erreur ni dans la console java ni dans la console de Tomcat.
Une petite aide svp ??

 Vincedav31

2 réponses

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
6 sept. 2007 à 20:20
Salut,
Vous utilisez une applet signée ?
Parce que à première vu ce que vous voulez faire ne doit pas être possible pour des raisons simple de sécurité. Les applets ont un champ d'action limité (à part si elle sont signées), elle ne peuvent pas entre autres accéder à des fichiers sur le disque dur du client où elles sont exécutées (pour des raisons évidentes de sécurité).
http://kysicurl.free.fr/
0
vincedav31 Messages postés 9 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 18 novembre 2008
7 sept. 2007 à 08:56
Salut Kysic,

En effet, mon applet est bien signée.

 Vincedav31
0
Rejoignez-nous