使用GWT Request Factory上传文件

时间:2013-04-10 14:36:12

标签: java gwt file-upload requestfactory

是否可以通过请求工厂上传文件?简单的例子将非常有用。

3 个答案:

答案 0 :(得分:7)

其实你可以!,我已经有了一个应用程序。

  1. 您需要支持FileApi(现代浏览器)
  2. 的浏览器
  3. 您必须编写一些jsni代码才能将文件内容读入base64字符串。
  4. 您将收到(异步)一个字符串,您可以将其分配给应用中的任何Bean属性,并通过RF,RPC等发送。
  5. 在这里,您可以复制/粘贴我使用的最重要的代码:

       public final native void readAsDataURL(MyClass that, FileUpload input) /*-{
         var files = input.@com.google.gwt.user.client.ui.FileUpload::getElement()().files;
         var reader = new FileReader();  
         reader.onload = function (evt) {
             that.@...MyClass::done(Ljava/lang/String;)(evt.target.result);
         }
         reader.readAsDataURL(files[0]);
        }-*/;
    

    这将是我gwtupload图书馆的即将推出的功能。

答案 1 :(得分:0)

没有

您需要创建一个单独的文件上载servlet。请参阅Basic File upload in GWT

答案 2 :(得分:-1)

IMO RPCRequest Factory感觉为XMLHttpRequest,它不允许您encode并将local个文件发送给server

您需要自己编写servlet和GWT FormPanel

使用servlet及其mapping

完成example here