Hi

I know there are other posts on this but I just can't get this working. Any clues?

The problem seem is this is false
boolean isMultipart = ServletFileUpload.isMultipartContent(request);

Its like the encoding is not multipart


FormPanel
Code:
FormPanel formPanel = new FormPanel();
		formPanel.setHeading(TITLE);
		formPanel.setFrame(true);
		formPanel.setWidth(350);
		formPanel.setEncoding(Encoding.MULTIPART);
		formPanel.setMethod(Method.POST);
		formPanel.setAction(GWT.getModuleBaseURL()+"upgradePackageServlet ");
		
		
	    fileUpload = new FileUploadField();
	    fileUpload.setName("Select upgrade package");
	    fileUpload.setAllowBlank(false);
	    
	    
	    formPanel.add(fileUpload);
   
	    
	    Button uploadButton = new Button("Upload");
	    uploadButton.addClickHandler(new UploadFileClickHandler());
	    formPanel.add(uploadButton);
UploadFileClickHandler
Code:
private class UploadFileClickHandler implements ClickHandler {

		@Override
		public void onClick(ClickEvent event) {
			final String fileName = fileUpload.getValue();
			
			if (fileName.isEmpty()) {
				Window.alert("Select a file");
			} else {
				upgradePackageService.addPackage(fileName, new AsyncCallback<Void>() {
					
					@Override
					public void onSuccess(Void result) {
						Window.alert("Hunky Dorey " + fileName);
						
					}
					
					@Override
					public void onFailure(Throwable t) {
						Window.alert("Error uploading file " + t);
						
					}
				});
			}
		}
	}
Code:
public class UpgradePackageProxyServiceImpl extends RemoteServiceServlet implements UpgradePackageProxyService {

@Override
	public void addPackage(String fileName) {
		HttpServletRequest request = getThreadLocalRequest();		
		
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		if (isMultipart) {
			FileItemFactory factory = new DiskFileItemFactory();
			ServletFileUpload upload = new ServletFileUpload(factory);
			      
			try {
				List items = upload.parseRequest(request);
				// Process the uploaded items
				Iterator iter = items.iterator();
				while (iter.hasNext()) {
					FileItem item = (FileItem) iter.next();
				 
					if (item.isFormField()) {
						System.out.println(item.getFieldName());
						System.out.println(item.getName());
						System.out.println(item.getContentType());
						System.out.println(item.isInMemory());
						System.out.println(item.getSize());
					} else {
						fileName = item.getName();
						if (fileName != null && !fileName.equals("")) {
							fileName = FilenameUtils.getName(fileName);
							File uploadedFile = new File("rootDirectory" + fileName);
							try {
								item.write(uploadedFile);
								File newfile=new File(uploadedFile.getName());
								uploadedFile.renameTo(newfile);
								System.out.println(newfile.getName());				      
							} catch (Exception e) {
								e.printStackTrace();
							}
						}
					}
				}
			} catch (FileUploadException e) {
				e.printStackTrace();
			}
		}
    }

}