Salut,
J'ai fait une applet me permettant de realiser une capture d'ecran et de l'uploader sur mon serveur. Tout se passe bien lorsque je teste en local, mais a partir de mon serveur, j'ai l'erreur suivante :
java.io.FileNotFoundException: http:\ipserveur\NS3_DEV\meetingSnap\images\SW_09082007_135306.gif (Syntaxe du nom de fichier, de répertoire ou de volume incorrecte)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at javax.imageio.stream.FileImageOutputStream.<init>(Unknown Source)
at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(Unknown Source)
De plus, j'ai remarque que le getcodebase retournait un adresse de mon serveur du type http://ipserveur... tandis que le file a ecrire est du type http:\ipserveur\... donc une inversion des / en \ et la perte d'un des / apres le http: (j'espere que je suis clair)
Mon code est le suivant :
Etant debutant en java, pourrait on me donner un coup de main pour resoudre ce probleme. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public static void screenShot(Rectangle screenArea, Dimension screenshotFinalDimension, String pictureName, String picturePath, String compressionType) { BufferedImage buf = null; // Notre capture d'écran originale BufferedImage bufFinal = null; // Notre capture d'écran redimensionnée try { // Création de notre capture d'écran buf = new Robot().createScreenCapture(screenArea); } catch (AWTException e) { e.printStackTrace(); } // Création de la capture finale bufFinal = new BufferedImage(screenshotFinalDimension.width, screenshotFinalDimension.height, BufferedImage.TYPE_INT_RGB); // Redimensionnement de la capture originale Graphics2D g = (Graphics2D) bufFinal.getGraphics(); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR); g.drawImage(buf, 0, 0, screenshotFinalDimension.width,screenshotFinalDimension.height, null); g.dispose(); try { ImageIO.write(bufFinal, compressionType, new File(picturePath+pictureName)); } catch (IOException e) { e.printStackTrace(); } }
Partager