Bonjour,

J'ai un script qui réalise l'upload d'un ficher à partir d'une d'une page jsp, mais le problème est que mon code ne fonctionne pas sur I.E alors que sur mozila tout fonctionne correctement.
une précision qui peut avoir son importance: mon serveur apache est insataller sous linux.

d'après ce que j'ai pu constater, mon programme rencontre un problème avec le nom du fichier(item.getName()). Sur Mozila il me donne bien le nom du fichier alors que sur I.E il me donne toute l'arborescence du fichier.


voici mon code:

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
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
 
		// check if the http request is a multipart request
		// with other words check that the http request can have uploaded files
 
		if (isMultipart) {
 
			// ServletFileUpload servletFileUpload = new ServletFileUpload(new
			// DiskFileItemFactory());
 
			// Create a factory for disk-based file items
			FileItemFactory factory = new DiskFileItemFactory();
 
			// Create a new file upload handler
			ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
 
			// Set upload parameters
			// See Apache Commons FileUpload for more information
			// <a href="http://jakarta.apache.org/commons/fileupload/using.html" target="_blank">http://jakarta.apache.org/commons/fileupload/using.html</a>
			servletFileUpload.setSizeMax(-1);
			// //System.out.println("momo je suis là...");
 
			try {
 
 
				String directory = "";
				String service = "";
 
				// Parse the request
				List items = servletFileUpload.parseRequest(request);
 
				// Process the uploaded items
				Iterator iter = items.iterator();
				// //System.out.println("salut momo je suis là dans le try...");
				//LOG.info("session  "+LoginAuthentification.session.getAttribute("UserId"));
				while (iter.hasNext()) {
					FileItem item = (FileItem) iter.next();
 
					// the param tag directory is sent as a request parameter to
					// the server
					// check if the upload directory is available
					if (item.isFormField()) {
 
						String name = item.getFieldName();
						//System.out.println("Item name : " + name + "\n");
						if (name.equalsIgnoreCase("directory")) {
 
							directory = item.getString();
							/*System.out.println("directory = "
									+ directory.toString());*/
 
						}
						if (name.equalsIgnoreCase("url")) {
 
							url = item.getString();
							//System.out.println("URL = " + url.toString());
							oldUrl = url.substring(debURL.length());
						}
 
					} else {
						LOG.debug("item.getName() = " + item.getName());
						// the fileNames are urlencoded
						LOG.debug();
						String fileName = URLDecoder.decode(item.getName(),System.getProperty("file.encoding"));
						//System.out.println("fileName = " + fileName);
						LOG.debug("fileName = " + fileName);
						chemin =  BASE_DIRECTORY+ "/" + directory+ "/dev";
 
						//System.out.println("chemin  :"+chemin+"\n");
 
						File myFile = new File(directory, fileName);
 
						myFile = new File(chemin, myFile.getName());
						// retrieve the parent file for creating the directories
						File parentFile = myFile.getParentFile();
 
						if (!parentFile.isDirectory()) {
							System.out.println(parentFile
									+ " n'existe pas on le cree\n");
							parentFile.mkdirs();
						} else {
							System.out.println(parentFile + " existe \n");
 
						}
						item.write(myFile);


merci d'avance pour votre aide