Home » Enterprise Java » gwt » File Upload Example

About Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.

File Upload Example

With this example we are going to demonstrate how to make a File Upload using the Google Web Toolkit, that is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. In short, to make a File Upload we have performed the steps below:

  • The FileUploadExample class implements the com.google.gwt.core.client.EntryPoint interface to allow the class to act as a module entry point. It overrides its onModuleLoad() method.
  • Create a new VerticalPanel.
  • Add a Label to the VerticalPanel.
  • Create a new Instance of FileUpload
  • Create a Button for submit. Add a ClickHandler to the button and override its onClick(ClickEvent event) method to handle click events. For example you can check the extension of a file before uploading it.
  • Add the widgets to the VerticalPanel.
  • Add the VerticalPanel to the RootPanel, that is the panel to which all other widgets must ultimately be added.

Let’s take a look at the code snippet that follows:

package com.javacodegeeks.snippets.enterprise;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;

public class FileUploadExample implements EntryPoint {
    //Allowed files (.pdf for this example)
	private final String extention = ".pdf";

	@Override
	public void onModuleLoad() {

  // Create new Instance of vertical panel to align the widgets
		VerticalPanel vp = new VerticalPanel();


  // Add label
		vp.add(new HTML(""));


  // Create new Instance of FileUpload 
		final FileUpload fileUpload = new FileUpload();
		

  // Create button for submit
		Button uploadButton = new Button("Upload");


  // Add ClickHandler to the button
		uploadButton.addClickHandler(new ClickHandler() {

			@Override
			public void onClick(ClickEvent event) {


    //Get file name


    String filename = fileUpload.getFilename();



    // Check the length of the filename
				if (filename.length() != 0) {



  // Get the extention 
					String fileExtention = filename.substring(filename.length() - extention.length(), filename.length());
					



  // Check if the extention is '.pdf'



  if (!fileExtention.equals(extention)) {
						Window.alert("Only .pdf files are allowed");
					}
					Window.alert("File was successfully uploaded");
				}
				else
					Window.alert("No file choosen");
			}
		});

  // Add widgets to Vertical Panel
		vp.add(fileUpload);
		vp.add(uploadButton);


  //Add Vertical Panel to Root Panel
		RootPanel.get().add(vp);
	}

}

 
This was an example of how to make a File Upload using the Google Web Toolkit.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

 

and many more ....

 

Receive Java & Developer job alerts in your Area

 

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Radu
Radu
2 years ago

OK, but how could one get the text inside the file in order to store that?

Lalitha
Lalitha
2 years ago

I have checked the above code it will work for single file,how can we upload multiple files and how can we get names