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
Partager