iteye_8143 2010-08-11 09:47
浏览 221
已采纳

求gxt 文件上传实例(在gxt中如何提交formpanel,服务端怎么设计),求高手!

求gxt 文件上传实例(在gxt中如何提交formpanel,服务端怎么设计),求高手!

  • 写回答

1条回答 默认 最新

  • iteye_20028 2010-08-17 14:15
    关注

    FormPanel form = new FormPanel();
    form .setMethod(Method.POST);
    form .setEncoding(Encoding.MULTIPART);

    FileUploadField fileUpload = new FileUploadField();
    fileUpload.getMessages().setBrowseText(msg.browse());
    fileUpload.setFieldLabel(msg.file());
    fileUpload.setId("upload");
    fileUpload.setName("upload");
    form.add(fileUpload);

    form.setAction(GWT.getModuleBaseURL()+"uploadImageServlet");
    form.addListener(Events.Submit,new Listener() {
    @Override
    public void handleEvent(FormEvent be) {

    hide();
    }

    });

    form.submit();
    form.onFrameLoad();

    web.xml

    uploadImageServlet
    xx.UploadImageServlet


    uploadImageServlet
    /xx/uploadImageServlet

    UploadImageServlet.java
    这里引用了 commons-fileupload-1.2.1.jar
    public class UploadImageServlet extends HttpServlet{
    public static final QuetzacoLogger log = QuetzacoWebLogger.getInstance();
    @Override
    protected void doGet(final HttpServletRequest request,
    final HttpServletResponse response) throws ServletException,
    IOException {
    ..
    }

    protected void doPost(final HttpServletRequest request,
            final HttpServletResponse response) throws ServletException,
            IOException {
    
            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setFileCleaningTracker(FileCleanerCleanup.getFileCleaningTracker(getServletContext()));
    
            ServletFileUpload upload = new ServletFileUpload(factory);
    
            try {
                List<FileItem> items = upload.parseRequest(request);
                for (final FileItem item : items) {                 
                    if (!item.isFormField()) {                      
                        String fileName = item.getName();           
                        item.write(new File(request.getRealPath("/upload"),fileName));
                    }
                }
            }catch (Exception e) {
                e.printStackTrace();
            }
    
    }
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败