Bonjour

Sur mon site développée sous JEE 1.4, j'utilise la librairie fileUpload en version 1.2 pour mes uploads de fichiers. Mon serveur est Tomcat 5.5.
Mes tests sous Firefox et Safari sont tous satisfaisants. Néanmoins, avec Internet Explorer (5, 6 et 7), j'observe que lors de l'upload, mes fichiers sont bien uploadés mais avec leur path complet d'origine genre C:\Documents and Settings\GLDavid\Mon fichier.txt
Voici le code de ma servlet:
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
 
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
		resp.setContentType("text/html");
		pw = resp.getWriter();
 
		boolean b = false;
		java.util.Enumeration en = req.getSession().getAttributeNames();
		while(en.hasMoreElements()){
			String key = en.nextElement().toString();
			if(key.compareTo("authenticated")==0){
				b = true;
			}
		}
 
		if(!b){
			req.setAttribute("error", "You are not autorized !");
			RequestDispatcher rd = req.getRequestDispatcher("index.jsp");
			rd.forward(req, resp);
			return;
		}
		else{
			Boolean bool = (Boolean)req.getSession().getAttribute("authenticated");
			if(bool.booleanValue()!=true){
				req.setAttribute("error", "You are not autorized !");
				RequestDispatcher rd = req.getRequestDispatcher("index.jsp");
				rd.forward(req, resp);
				return;
			}
		}
 
		String destination = new String();
 
		//Create a factory for disk-based file items
		DiskFileItemFactory factory = new DiskFileItemFactory();
		//factory.setSizeThreshold(maxSize);
		//Set factory constraints
		factory.setRepository(new File(path));
		//Create a new file upload handler
		ServletFileUpload upload = new ServletFileUpload(factory);
		List items;
		try{
			items = upload.parseRequest(req);
			if(items.isEmpty()){
				req.setAttribute("error", "Your form was not well completed !");
				RequestDispatcher rd = req.getRequestDispatcher("send.jsp");
				rd.forward(req, resp);
				return;
			}
			Iterator iter = items.iterator();
			while (iter.hasNext()) {
			    FileItem item = (FileItem) iter.next();
			    if (item.isFormField()) {
			    	if(item.getFieldName().trim().compareTo("repos")==0)
			    		destination = item.getString();
			    }
			    else{
			    	if(item.getName().trim().length()>0){
			    		if(item.getSize()<maxSize)
			    			processUploadedFile(item, destination);
			    		else{
			    			returnError("Your file is too fat (<5 Mo) !", req, resp, "send.jsp");
			    			return;
			    		}
			    	}
			    	else{
			    		returnError("Your form was not well completed !", req, resp, "send.jsp");
			    		return;
			    	}
			    }
			}
			returnMessage("Upload completed successfully !", req, resp, "send.jsp");
			return;
		}
		catch(FileUploadException fue){
			ExceptionDisplayer ed = new ExceptionDisplayer(fue, pw, this.getServletName());
			ed.printException();
		}
		catch(Exception e){
			ExceptionDisplayer ed = new ExceptionDisplayer(e, pw, this.getServletName());
			ed.printException();
		}
	}
 
private void processUploadedFile(FileItem item, String destination) throws Exception{
		//Process a file upload
		String final_destination = path+destination+"/"+item.getName();
		File uploadedFile = new File(final_destination);
		//getMime(uploadedFile);
		item.write(uploadedFile);
	}
Quelques idées à me proposer ou est-ce encore une bizarrerie d'IE ?

Merci d'avance de vos réponses.

@++