Salut,
Jsute savoir comment copier une image dans un dossier au serveur(localhost)
j'ai essayé:
Code:
1
2
3
4
5Path p=Paths.get("D:/Lama/Image1.jpg"); URI url=new URI("http://localhost/Images/Image1.jpg"); Path p2=Paths.get(url); Files.copy(p, p2);
Version imprimable
Salut,
Jsute savoir comment copier une image dans un dossier au serveur(localhost)
j'ai essayé:
Code:
1
2
3
4
5Path p=Paths.get("D:/Lama/Image1.jpg"); URI url=new URI("http://localhost/Images/Image1.jpg"); Path p2=Paths.get(url); Files.copy(p, p2);
Je dirais plutôt qu'il faut utiliser un formulaire de ce ce genre (bien noter la valeur de l'attribut enctype) :
et du côté serveur, s'il implémente l'API Servlets 3.0, tu utilises la méthode getParts() ou getPart(String) de la classe HttpServletRequest. Sinon, il e faut une librairie pour l'upload de fichiers, par exemple import org.apache.tomcat.util.http.fileupload. Je m'y connais pas trop car je ne fais pas du Java EE depuis très longtemps, mais je pense qu'il doit exister une librairie de ce genre par défaut dans n'importe quel serveur.Code:
1
2
3
4
5
6 <form method="post" action="monAction" enctype="multipart/form-data"> <label for="fichier">Emplacement du fichier</label> <input type="file" id="fichier" name="url"/> <input type="submit" value="Envoyer"/> </form>
Bref une fois que tu as la librairie, le code dans la servlet qui traite le formulaire ressemble à ça :
Voilà comment on s'y prend pour l'upload, si c'était bien ta question.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23try { FileItemFactory factory = new DiskFileItemFactory(); ServletContext servletContext = getServletConfig().getServletContext(); File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir"); ((DiskFileItemFactory) factory).setRepository(repository); ServletFileUpload upload = new ServletFileUpload(factory); ArrayList<FileItem> items = items = (ArrayList<FileItem>) upload.parseRequest(request); byte[] bin; for (FileItem item : items) { if (!item.isFormField()) { //ici on gère les fichiers bin = item.get(); // [...] traitement } else { //ici on gère les paramètres classiques String field = item.getFieldName(); // [...] traitement } } } catch (FileUploadException e) { throw new ServletException("Échec de l'analyse de la requête multipart.", e); }