si tu veux l'enregistrer sur la racine de ton site, il faut récupérer l'adresse et enregistrer le fichier sur cette adresse.
tu peux utiliserle reste c'est des questions concernant Java IO.Code:request.getContextPath() ;
N'oublies pas :resolu:
Version imprimable
si tu veux l'enregistrer sur la racine de ton site, il faut récupérer l'adresse et enregistrer le fichier sur cette adresse.
tu peux utiliserle reste c'est des questions concernant Java IO.Code:request.getContextPath() ;
N'oublies pas :resolu:
pour déplacer le fichier depuis son enmplacement temporaire, utilise plutot File.renameTo()
Excellant!!
File.renameTo() m'a résolut le problème:king:
Bonjour,
J'ai suivi ce que vous avez décris ici et ca marche .
Je veux copier ce que j'ai uplouder dans un autre emplacement.
Avez vous un exemple.
Merci
tu peux soit utiliser l'api FileUtil de apache, ou, poser la question dans le forum java IO.
Merci Sniper37.
En faite merci à tous.
j'ai pu copier ce qui a été aploadé dans un autre emplacement.
voila le code de la méthode listener :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public void listener(UploadEvent event) throws IOException { FileChannel in = null; // canal d'entrée FileChannel out = null; // canal de sortie String Dest="C:/testupload/"; // repertoire de destination. uploadItem = event.getUploadItem(); String filename = uploadItem.getFileName(); Dest=Dest+filename.substring(filename.lastIndexOf("\\")); // prendre le chemin du fichier source (fichier aploadé) in = new FileInputStream(filename).getChannel(); out = new FileOutputStream(Dest).getChannel(); in.transferTo(0, in.size(), out); // copier. }
Bonne journée
//**** Dest=Dest+filename.substring(filename.lastIndexOf("\\")); ******// ?? il ya un petit problem :
-si on fait l' upload de mon localhost alors la resource se lit de cette maniere : C:\Sun\java\monfichieruploader.jpg
-si on fait l'upload d'une machine externe ,dans cet cas la resource vat etre lit de cette maniere : monfichieruploader.jpg
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public void listener(UploadEvent event) throws FileNotFoundException, IOException { if (event == null) { } else { UploadItem uploadItem = event.getUploadItem(); String filename = uploadItem.getFileName(); // on construit un Fichier avec le path/nomdufichierrecu java.io.File uploadedFile = uploadItem.getFile(); saveFile(uploadedFile , "c:\\temp\\", filename); } }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public void saveFile(java.io.File file, String path, String fileName) { try { if(contient('\\',fileName)) { fileName=fileName.substring(fileName.lastIndexOf("\\")); } java.io.File fileToWrite = new java.io.File(path+fileName); FileChannel in = null; FileChannel out = null; in = new FileInputStream(file).getChannel(); out = new FileOutputStream(fileToWrite).getChannel(); in.transferTo(0, in.size(), out); in.close(); out.close(); } catch (Exception e) { e.printStackTrace(); } }
n'oublier ps d'autoriser la creation des fichiers temporels dans web.xmlCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public static boolean contient(char c , String msg2) { boolean contenu_dans = true; boolean trouve_lettre = false; for (int i = 0; i < msg2.length() - 1; i++) { { if (msg2.charAt(i) == c) { trouve_lettre = true; break; } } } if (trouve_lettre == false) { return false; }
bon courage c mon premier msg ds ce forum :)Code:
1
2
3 <init-param> <param-name>createTempFiles</param-name> <param-value>true</param-value> </init-param>