使用GWT中的UI进行文件上载。已调用Servlet,但未检索任何文件内容

使用GWT中的UI进行文件上载。已调用Servlet,但未检索任何文件内容,gwt,file-upload,Gwt,File Upload,我已经使用UI.xml创建了fileupload小部件。编写Servlet。我的servlet正在调用,但没有检索文件内容。我已将代码粘贴到这里。您能回答问题所在以及如何检索内容吗?这是第一次使用这个。请让我知道 用户界面 以下是我的servlet类: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcepti

我已经使用UI.xml创建了fileupload小部件。编写Servlet。我的servlet正在调用,但没有检索文件内容。我已将代码粘贴到这里。您能回答问题所在以及如何检索内容吗?这是第一次使用这个。请让我知道

用户界面

以下是我的servlet类:

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletFileUpload upload = new ServletFileUpload();
        log.debug("UploadServlet upload:"+upload);
        try {


        FileItemIterator iter = upload.getItemIterator(request);
        log.debug("UploadServlet iter:"+iter);
        System.out.println("UploadServlet iter:"+iter);
        while (iter.hasNext()) {

            FileItemStream item = iter.next();
            log.debug("UploadServlet iter:Field Name:"+item.getFieldName());
            System.out.println(":Field Name:"+item.getFieldName());
            System.out.println(":Name:"+item.getName());
            System.out.println(":is form field:"+item.isFormField());
            String name = item.getFieldName();
            InputStream stream = item.openStream();
            // Process the input stream
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            int len;
            byte[] buffer = new byte[8192];
            while ((len = stream.read(buffer, 0, buffer.length)) != -1) {
                out.write(buffer, 0, len);
            }
            int maxFileSize = 10 * (1024 * 2); // 10 megs max
            if (out.size() > maxFileSize) {
                throw new RuntimeException("File is > than " + maxFileSize);
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

您应该在您的
文件上传上设置
name=“…”

如果您需要任何其他信息,请告诉我,并帮助我确定问题。请回答任何问题。我也有同样的问题
@UiHandler("uploadButton")
void onClickUploadButton(ClickEvent event) {
    GWT.log("You selected: " + fileUpload.getFilename(), null);
    uploadDPAFormPanel.submit();
}
public void init() {
    uploadDPAFormPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadDPAFormPanel.setMethod(FormPanel.METHOD_POST);
    uploadDPAFormPanel.setAction(GWT.getHostPageBaseURL()
            + uploadServlet);
    uploadDPAFormPanel.addSubmitHandler(new FormPanel.SubmitHandler() {

        @Override
        public void onSubmit(SubmitEvent event) {

             if (!"".equalsIgnoreCase(fileUpload.getFilename())) { 
                 GWT.log("UPLOADING FILE????", null);   
                 // NOW WHAT???? 
                 }  
             else{  
                 GWT.log("UPLOA event cancel");
                 event.cancel(); // cancel the event  
                 } 
             } 
         }); 

    uploadDPAFormPanel
    .addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            //TODO need to write code to refresh the page
            doAlert("Uploaded sucessfully");
        }
    });
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletFileUpload upload = new ServletFileUpload();
        log.debug("UploadServlet upload:"+upload);
        try {


        FileItemIterator iter = upload.getItemIterator(request);
        log.debug("UploadServlet iter:"+iter);
        System.out.println("UploadServlet iter:"+iter);
        while (iter.hasNext()) {

            FileItemStream item = iter.next();
            log.debug("UploadServlet iter:Field Name:"+item.getFieldName());
            System.out.println(":Field Name:"+item.getFieldName());
            System.out.println(":Name:"+item.getName());
            System.out.println(":is form field:"+item.isFormField());
            String name = item.getFieldName();
            InputStream stream = item.openStream();
            // Process the input stream
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            int len;
            byte[] buffer = new byte[8192];
            while ((len = stream.read(buffer, 0, buffer.length)) != -1) {
                out.write(buffer, 0, len);
            }
            int maxFileSize = 10 * (1024 * 2); // 10 megs max
            if (out.size() > maxFileSize) {
                throw new RuntimeException("File is > than " + maxFileSize);
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}