当前位置: 首页 > 知识库问答 >
问题:

GWT-GXT文件上传字段

董花蜂
2023-03-14

我试着在GXT中制作一个表单来上传文件,但我在网上看到了更多的例子,我没能用一个简单的FileUploadField将文件保存在本地

Cde片段:

    formPanel = new FormPanel();
    formPanel.setBodyBorder(false);
    formPanel.setHeaderVisible(false);
    formPanel.setAction(GWT.getModuleBaseURL() + "fileUpload");
    formPanel.setEncoding(Encoding.MULTIPART);
    formPanel.setMethod(Method.POST);
    formPanel.setButtonAlign(HorizontalAlignment.CENTER);      
    formPanel.setHeaderVisible(true);

    fileUploadField = new FileUploadField();
    fileUploadField.setName("fileName");
    fileUploadField.setAllowBlank(false);
    fileUploadField.setFieldLabel("Archivo");                       
    fileUploadField.addListener(Events.OnChange, new Listener<BaseEvent>() {

        public void handleEvent(BaseEvent BaseEvent) {
            aSubmitButton.setEnabled(true);
        }
      });

        aSubmitButton = new Button("OK");
    aSubmitButton.setEnabled(false);
    aSubmitButton.setId("submit_button");       
    aSubmitButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent inButtonEvent) {
          formPanel.submit();
    }
      });

上面的代码是FormPanel和FileUploadField的声明。

共有1个答案

井礼骞
2023-03-14

我们用gwtupload-0.6.3-compat.jar图书馆来做这项工作。

基本上,这个想法是在服务器端您需要创建一个servlet,它将接受您上传的文件。所提到的库提供了UploadAction servlet扩展,从而实现了这一点。

在客户端,您可以使用gwtupload组件之一。例如,我们使用MultiUploader。这实际上是几行代码。主要代码在侦听器中:

private IUploader.OnFinishUploaderHandler onFinishUploaderHandler = new IUploader.OnFinishUploaderHandler() {
    public void onFinish(IUploader uploader) {
        if (uploader.getStatus() == Status.SUCCESS) {
            // What you want to do when file is uploaded.
        }
    }
};

其余的由组件处理。由于该库适用于GWT,因此它带有源代码,因此您可以看到它在幕后做什么并阅读代码中的大量注释。

当然可以免费使用。

 类似资料:
  • 我对无效的文本字段有问题。我创建了这个函数来帮助我在没有(!)的情况下放置一些无效的文本字段泡 我的问题是,现在当我试图保存我的页面时,我想忽略这个错误,即使它仍然处于活动状态。API告诉我要这样做: public void forceInvalid(java.lang.String msg) 使用给定的错误消息强制字段无效。使用此功能时,必须调用clearInvalid()以清除错误。此外,不会

  • 我正在使用GWT 2.4.0和GXT 3.0.0b,我试图用谷歌编译应用程序,但每次我都会遇到这个错误。 问题是什么?它是否有一些缺失的jar/插件?早些时候,我将GWT 2.1与Gxt 2.4一起使用,Gxt 2.4用于精细编译。请帮忙

  • 我看到GXT 2.3.0的jar文件名=gxt-2.3.0-gwt22.jar.这是否意味着它期待GWT 2.2??考虑到GXT 2.3.0于2013年10月发布,GWT 2.2.0于2011年2月发布(3年前),这似乎有点奇怪。我尝试了GWT 2.6.1,但在GXT jar中出现错误(HtmlEditor.java第548行:类型不匹配:无法从com.google.gwt.dom.client.

  • 问题内容: 我试图弄清楚如何使用GWT的FileUpload小部件上传一个文件。我正在将GWT和Google AppEngine与Java一起使用,但是我想将文件上传到我自己的Linux服务器上。我已经有以下代码,但是现在我不知道如何将文件提交到Google AppServer服务器并将其保存到另一台服务器: 现在,我下一步需要做什么?我需要放入web.xml中的内容以及如何编写servlet,以

  • 问题内容: 我正在使用FormPanel将文件上传到服务器。我要尝试做的是在上传文件之前,确保文件大小小于给定的大小(例如10MB)。在服务器端,我有一个javax.servlet.http.HttpServlet,在其中重写doPost。这里的HttpServletRequest参数具有文件的大小,但是问题是在文件已上传之前,我没有到达doPost。因此,如果我选择上传1 GB的文件,则在上传了

  • 在尝试将绝对定位的HorizontalContainer插入到其他容器中时,我遇到了一个奇怪的问题。如果兄弟姐妹仍在渲染(有一个蒙版集),这个绝对容器会按其宽度推送他的下一个兄弟姐妹。 例子:。 现在,让我们假设用户将鼠标悬停在hlc容器上,该容器具有hbox1-3,但是其中一些容器具有掩码集(数据仍在加载),例如hbox1。mask()。onMouseOver事件插入hlc: 然而,由于HBox