【发布时间】:2013-04-02 11:20:04
【问题描述】:
是否可以通过请求工厂上传文件?简单的例子会很有帮助。
【问题讨论】:
标签: java gwt file-upload requestfactory
是否可以通过请求工厂上传文件?简单的例子会很有帮助。
【问题讨论】:
标签: java gwt file-upload requestfactory
其实你可以!,我已经有一个应用程序在做。
Bean 属性,并通过 RF、RPC 等方式发送。这里有我使用的最重要代码的复制/粘贴:
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 库中即将推出的功能。
【讨论】:
Elemental 库。应该可以在没有 JSNI 的情况下使用大部分 FileAPI(即 FileReader)。
Elemental。希望随着时间的推移,大多数供应商前缀都会被删除。然后 Elemental 可以轻松支持不同的浏览器
IMO RPC 或 Request Factory 感觉是 XMLHttpRequest,这不允许您 encode 并将 local 文件发送到 server。
您需要编写自己的 servlet 和 GWT FormPanel。
用servlet 及其mapping 完成example here
【讨论】:
XMLHttpRequest 允许在现代浏览器中发送文件,只需使用发送方法xhr.send(myfile.files[0]),但您必须为 xhr 调整 gwt 包装器。
没有。
您需要创建一个单独的文件上传 servlet。见Basic File upload in GWT。
【讨论】: