如何使用GWT处理文件上传?

时间:2011-08-24 16:42:27

标签: java gwt file-upload

上传后,我正在寻找一些解读文件的解决方案,我发现了这个:

Read text file in google GWT?

的解决方案
new RequestBuilder(Method.GET, "path/to/file.txt").sendRequest("", new RequestCallback() {
  @Override
  public void onResponseReceived(Request req, Response resp) {
    String text = resp.getText();
    // do stuff with the text
  }

  @Override
  public void onError(Request res, Throwable throwable) {
  // handle errors
  }
});

这对我的案例来说似乎是一个可行的解决方案,但我对此有点新鲜,任何人都可以解释我如何在gwt中应用它?我已经将FileUpload放置在面板中,并使用单击处理程序来处理提交按钮单击。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您链接的答案是从服务器读取文件。他们只是从网络服务器请求文件。听起来你想从客户端读取文件(你正在使用FileUpload)。根据运行应用程序的堆栈以及您支持的客户端,有不同的方法。

GWT FileUpload只是表单上的输入控件,允许用户选择文件。它不会执行实际文件读取的任何部分。

一种常见的方法是将文件作为HTML表单的一部分发送到服务器,然后将其反映回客户端以将其放入您的Web应用程序中。 This site有点旧,但很擅长为您提供这种方法的基础知识。有几个使用GWT的例子:for example也链接到this。此选项具有最广泛的客户端支持,但在网络流量方面的成本更高。

如果您知道客户端支持HTML5,您还可以使用File API在JavaScript中读取该文件。 Here是来自Mozilla的一些文档。不幸的是,它没有真正集成GWT支持,所以你必须编写一些JavaScript。所有客户端都不支持此选项,但也不会生成任何网络流量。