Albert, Not sure if you are still stuck on this.. but if you make the following 2 changes this should work for you...
1) Change 'onInitialize' method to return 'form'. (It is returning 'vPanel' in your code.) 2) Add following line: fileUpload.setName("myFile"); This should work. On Thu, May 6, 2010 at 11:15 AM, Ajay Chitre <chitre.a...@gmail.com> wrote: > Adding some more info... > > > > In the debugger when I set a breakpoint in 'onInitialize' at this line:* > > RootPanel.get().add(form); * > > the form seems to be built properly as follows: > > > <form method="post" enctype="multipart/form-data" action=" > http://127.0.0.1:8888/showcase/myFormHandler" target="FormPanel_1"><table > cellpadding="0" cellspacing="0"><tbody><tr><td style="vertical-align: top;" > align="left"><div class="gwt-HTML"><b>Select a > file:</b></div></td></tr><tr><td style="vertical-align: top;" > align="left"><input id="gwt-debug-cwFileUpload" class="gwt-FileUpload" > type="file"></td></tr><tr><td style="vertical-align: top;" align="left"><div > class="gwt-HTML"><br></div></td></tr><tr><td style="vertical-align: top;" > align="left"><button class="gwt-Button" tabindex="0" type="button">Upload > File</button></td></tr></tbody></table></form> > > > But under firebug, the form shows up as this... > > <form target="FormPanel_1" action=" > http://127.0.0.1:8888/showcase/myFormHandler" > enctype="multipart/form-data" method="post"></form> > > So seems like there's something in the Showcase application framework > that's causing this. Any ideas? > > > > > On Wed, May 5, 2010 at 8:01 AM, Something Something < > mailinglist...@gmail.com> wrote: > >> Hello, >> >> I am writing a GWT application based on the 'Showcase' sample ( >> http://gwt.google.com/samples/Showcase/Showcase.html). I am trying to >> get the 'File Upload' feature to work. I have changed the 'CwFileUpload' >> class as follows: >> >> public Widget onInitialize() { >> // Create a FormPanel and point it at a service. >> * final FormPanel form = new FormPanel();* >> form.setAction(GWT.getModuleBaseURL() + "*myFormHandler*"); >> >> // Because we're going to add a FileUpload widget, we'll need to set >> the >> // form to use the POST method, and multipart MIME encoding. >> form.setEncoding(FormPanel.ENCODING_MULTIPART); >> form.setMethod(FormPanel.METHOD_POST); >> >> // Create a vertical panel to align the content >> VerticalPanel vPanel = new VerticalPanel(); >> form.setWidget(vPanel); >> // Add a label >> vPanel.add(new HTML(constants.cwFileUploadSelectFile())); >> >> // Add a file upload widget >> final FileUpload fileUpload = new FileUpload(); >> fileUpload.ensureDebugId("cwFileUpload"); >> vPanel.add(fileUpload); >> >> // Add a button to upload the file >> Button uploadButton = new Button(constants.cwFileUploadButton()); >> uploadButton.addClickHandler(new ClickHandler() { >> public void onClick(ClickEvent event) { >> String filename = fileUpload.getFilename(); >> if (filename.length() == 0) { >> Window.alert(constants.cwFileUploadNoFileError()); >> } else { >> // Window.alert(constants.cwFileUploadSuccessful()); >> form.submit(); >> } >> } >> }); >> vPanel.add(new HTML("<br>")); >> vPanel.add(uploadButton); >> >> // Add an event handler to the form. >> form.addSubmitHandler(new SubmitHandler() { >> @Override >> public void onSubmit(SubmitEvent event) { >> if (fileUpload.getFilename().length() == 0) { >> Window.alert("Must select a valid file"); >> event.cancel(); >> } >> } >> }); >> >> form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { >> public void onSubmitComplete(SubmitCompleteEvent event) { >> // When the form submission is successfully completed, this >> // event is fired. Assuming the service returned a response of >> type >> // text/html, we can get the result text here (see the FormPanel >> // documentation for further explanation). >> Window.alert(event.getResults()); >> } >> }); >> * RootPanel.get().add(form);* >> >> // Return the layout panel >> return vPanel; >> } >> >> >> The code in *MyFormHandler *is given below (Note: This was directly >> copied from the Google Appengine FAQ page): >> >> public void *doPost*(HttpServletRequest req, HttpServletResponse res) >> throws ServletException, IOException { >> try { >> ServletFileUpload upload = new ServletFileUpload(); >> res.setContentType("text/plain"); >> >> FileItemIterator iterator = upload.getItemIterator(req); >> while (iterator.hasNext()) { >> // IT NEVER GETS IN THIS LOOP >> FileItemStream item = iterator.next(); >> InputStream stream = item.openStream(); >> >> if (item.isFormField()) { >> LOG.warning("Got a form field: " + item.getFieldName()); >> } else { >> LOG.warning("Got an uploaded file: " + item.getFieldName() + >> ", name = " + item.getName()); >> >> // You now have the filename (item.getName() and the >> // contents (which you can read from stream). Here we just >> // print them back out to the servlet output stream, but you >> // will probably want to do something more interesting (for >> // example, wrap them in a Blob and commit them to the >> // datastore). >> int len; >> byte[] buffer = new byte[8192]; >> while ((len = stream.read(buffer, 0, buffer.length)) != -1) { >> res.getOutputStream().write(buffer, 0, len); >> } >> } >> } >> } catch (Exception ex) { >> throw new ServletException(ex); >> } >> } >> >> When form is submitted, no "FileItems" (meaning form fields) are returned >> in the Request object. I have tried moving the FormPanel to Showcase.java >> and tried several combinations, but nothing is working :( Any ideas on >> debugging this further will be greatly appreciated. Please help. >> >> Thank you. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google Web Toolkit" group. >> To post to this group, send email to google-web-tool...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-web-toolkit?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.