Google Web Toolkit (Beta)
Search this site:

# Class FileUpload

public class FileUpload
extends Widget
implements HasName
A widget that wraps the HTML <input type='file'> element. This widget must be used with FormPanel if it is to be submitted to a server.

### Example

    public class FormPanelExample implements EntryPoint {

      public void onModuleLoad() {
        // Create a FormPanel and point it at a service.
        final FormPanel form = new FormPanel();
        form.setAction("/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 panel to hold all of the form widgets.
        VerticalPanel panel = new VerticalPanel();
        form.setWidget(panel);

        // Create a TextBox, giving it a name so that it will be submitted.
        final TextBox tb = new TextBox();
        tb.setName("textBoxFormElement");
        panel.add(tb);

        // Create a ListBox, giving it a name and some values to be associated with
        // its options.
        ListBox lb = new ListBox();
        lb.setName("listBoxFormElement");
        lb.addItem("foo", "fooValue");
        lb.addItem("bar", "barValue");
        lb.addItem("baz", "bazValue");
        panel.add(lb);

        // Create a FileUpload widget.
        FileUpload upload = new FileUpload();
        upload.setName("uploadFormElement");
        panel.add(upload);

        // Add a 'submit' button.
        panel.add(new Button("Submit", new ClickListener() {
          public void onClick(Widget sender) {
            form.submit();
          }
        }));

        // Add an event handler to the form.
        form.addFormHandler(new FormHandler() {
          public void onSubmit(FormSubmitEvent event) {
            // This event is fired just before the form is submitted. We can take
            // this opportunity to perform validation.
            if (tb.getText().length() == 0) {
              Window.alert("The text box must not be empty");
              event.setCancelled(true);
            }
          }

          public void onSubmitComplete(FormSubmitCompleteEvent 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);
      }
    }

## Constructors

FileUpload() | Constructs a new file upload widget.

## Methods

getFilename() | Gets the filename selected by the user.
getName() | Gets the widget's name.
setName(String) | Sets the widget's name.

## Constructor Detail

### FileUpload

public FileUpload()
Constructs a new file upload widget.

## Method Detail

### getFilename

public String getFilename()
Gets the filename selected by the user. This property has no mutator, as browser security restrictions preclude setting it.

#### Return Value

the widget's filename

### getName

public String getName()
Gets the widget's name.

#### Return Value

the widget's name

### setName

public void setName(String name)
Sets the widget's name.

#### Parameters

name
  the widget's new name