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

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放置在面板中,并且单击处理程序来处理Submit按钮的单击。

有人可以帮我这个忙吗?

最佳答案

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

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

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

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

07-24 19:05
查看更多