Bonjour, je développe une aplli web dans laquelle j'aimerais que les utilisateurs puissent mettre des fichiers en ligne mais je n'arrive pas à enregistrer les fichiers autre part que dans un répertoire local que je spécifie (exemple C\fichiers)
Afin que cela ne s'effectue pas en local j'aimerai les enregistrer dans la racine de mon projet ( ou dans une base de donnée)


Voici je code de ma servlet qui traite l'envoi de fichier :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package fr.eseo.ldcr.groupec.servlet;
 
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Iterator;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
 
 
 
 
 
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 
 
/**
 * Servlet implementation class TraiterEnvoiFichier
 */
@WebServlet("/TraiterEnvoiFichier")
public class TraiterEnvoiFichier extends HttpServlet {
	private static final long serialVersionUID = 1L;
 
    /**
     * @see HttpServlet#HttpServlet()
     */
    public TraiterEnvoiFichier() {
        super();
 
    }
 
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
    String saveFile = "/fichiers/";
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		try {
			boolean ismultipart = ServletFileUpload.isMultipartContent(request);
 
			if(!ismultipart) {
 
			}
			else{
				FileItemFactory factory = new DiskFileItemFactory();
				ServletFileUpload upload = new ServletFileUpload(factory);
				@SuppressWarnings("rawtypes")
				List items = null;
 
				try{
					items = upload.parseRequest(request);
				}catch(Exception e){
 
				}
				Iterator itr = items.iterator();
				while(itr.hasNext()){
					FileItem item = (FileItem)itr.next();
 
					if(item.isFormField()){
 
					}
					else{
						String itemname = item.getName();
						if((itemname==null)||itemname.equals("")){
							continue;
						}
						String filename = FilenameUtils.getName(itemname);
						File f = checkExist(filename);
						item.write(f);
						System.out.println("Fichier téléchargé avec succès");
					}
				}
			}
		}catch(Exception e) {
 
		}
 
 
	}
	private File checkExist(String fileName) {
		// TODO Auto-generated method stub
 
		File f = new File(saveFile+"/"+fileName);
 
 
		if(f.exists()){
			StringBuffer sb = new StringBuffer(fileName);
			sb.insert(sb.lastIndexOf("."), "-"+new Date().getTime());
			f = new File(saveFile+"/"+sb.toString());
		}
		return f;
	}
}
J'ai essayé avec la piste de la méthode getAbsolutePath() mais ça n'a pas marcher.

Si vous voyez comment faire, je suis preneur merci d'avance