Transfert de fichier d'une applet vers une servlet
vincedav31
Messages postés9Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention18 novembre 2008
-
6 sept. 2007 à 18:24
vincedav31
Messages postés9Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention18 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
A voir également:
Transfert de fichier d'une applet vers une servlet
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 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/