Bonjour,
J'ai un FileUpload dans un formulaire mais celui-ci ne contient pas qu'un FileUpload. Pour donner un exemple, c'est un formulaire qui contient à la fois un TextBox, un FileUpload et un bouton de validation. Voici le code :
Code Java : 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 VerticalPanel vPanel = new VerticalPanel(); TextBox text = new TextBox(); FileUpload upload = new FileUpload(); upload.setName("monUpload"); Button submit = new Button(); submit.setText("Submit"); vPanel.add(text); vPanel.add(upload); vPanel.add(submit); FormPanel form = new FormPanel(); form.setAction(GWT.getModuleBaseURL() + "test"); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); form.addSubmitCompleteHandler( new FormPanel.SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent event) { Window.alert(event.getResults()); } } ); form.add(vPanel); RootPanel.get().add(form); submit.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { form.submit(); } } );
Mais lorsque je fais mon traitement dans ma servlet, je ne vois qu'un seul élément :
Code Java : 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 @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String retour = ""; try { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { retour = retour.concat(item.getFieldName()); } } catch (FileUploadException e) { e.printStackTrace(); } response.setContentType("text/plain"); response.getWriter().write(retour); }
Je pense que c'est dû au MultiPart mais je ne maîtrise pas trop ça...
Pouvez-vous m'aider ?
Partager