Bonsoir � tous,
Comme indiqu� dans le sujet, je cherche � uploader un fichier client par Ajax avec l'API commons.FileUpload
Je d�bute � peine avec Ajax, mais ai lu sur diff�rents sites que normalement Ajax ne permet pas l'envoi de fichier. J'ai lu toutefois qu'il �tait possible de feinter en utilisant une iframe ( �a m'�chappe pour le moment ).
J'essaie donc cette technique, mais sans r�sultat pour le moment
Voici donc mon code actuel :
- c�te HTML :
- c�t� js :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 <FORM method="POST" name="ATTACHFORM" enctype="multipart/form-data; boundary=--_01C922E9.D3E367F0" target="myFrame" > <div id="NEW_FIC" style="display:'<%=displayNewFic%>';"> <input size="1" id="newpj" name="newpj" onchange="submitDoc();" type="file"/> </div> </FORM> <iframe id="myFrame" name="myFrame"></iframe>
- c�t� JSP :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 function submitDoc() { http.open("POST", url , true); http.onreadystatechange = handleHttpResponse; http.setRequestHeader("Content-Type", "multipart/form-data; boundary=--_01C922E9.D3E367F0"); data = "noAD=test"; http.send(data); }
Mon probl�me est donc que items est toujours de taille = 0.
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 boolean isMultipart = ServletFileUpload.isMultipartContent(request); FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { String name = item.getFieldName(); String value = item.getString(); } else { String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); File uploadedFile = new File(...); } } }
Je ne sais pas si cela vient du boundary que je ne pr�cise pas dans la r�cup�ration ( si oui comment faire ? ) ou alors si il y a qqchose � faire avec l'iframe en javascript...
Partager