Post 后多部分请求时浏览器的进度百分比。GWT

Post 后多部分请求时浏览器的进度百分比。GWT,post,gwt,upload,progress-bar,progress,Post,Gwt,Upload,Progress Bar,Progress,我正在寻找从GWT应用程序实现多部分文件上传后的进度条的方法 我已经知道了开源GWTUpload lib和GWT AJAX请求 但我不能对服务器端进行任何更改,只能对客户端进行更改 我发现Chrome以某种方式处理了这种进展()。如何检索它?由于在XMLHttpRequest中尚未实现进度,因此也不会发送FormData,我会使用Ajax 我在上一次GWT中做了一次演示。创建演示: final GQuery progress=$(“”)。css($$($($(高度:6px,宽度:0%,背景:75

我正在寻找从GWT应用程序实现多部分文件上传后的进度条的方法

我已经知道了开源GWTUpload lib和GWT AJAX请求

但我不能对服务器端进行任何更改,只能对客户端进行更改


我发现Chrome以某种方式处理了这种进展()。如何检索它?

由于在
XMLHttpRequest
中尚未实现进度,因此也不会发送
FormData
,我会使用
Ajax

我在上一次GWT中做了一次演示。创建演示:

final GQuery progress=$(“”)。css($$($($(高度:6px,宽度:0%,背景:75bf4,位置:绝对,顶部:0px))。附录(文档);
GQuery fileUpload=$(“”).hide().appendTo(文档);
fileUpload.trigger(“单击”);
$(fileUpload).on(“更改”,(e)->{
final JsArray files=fileUpload.prop(“文件”);
JavaScriptObject formData=JsUtils.jsni(“eval”,“new formData()”);
对于(int i=0,l=files.length();i{
progress.remove();
$(“”).css($$($(“位置:绝对,顶部:0”)).appendTo(文档);
})
.进展((a,b)->{
进度。设置动画(“宽度:+b+“%”);
});
返回true;
}); 

谢谢你的回答,Manolo。您提到“在XMLHttpRequest中还没有实现进度”,但是关于很多使用HTML5的XHR2示例呢?类似于:
var progressBar=document.getElementById(“progressBar”);var xhr=new XMLHttpRequest();xhr.upload.onprogress=函数(e){var percentComplete=(e.loaded/e.total)*100;progressBar.value=percentComplete;}
在GWT核心库和GQuery中都找不到JsUtils类中的方法jsni,我指的是GWT类
com.google.GWT.xhr.client.XMLHttpRequest.java
,而不是javascript实现。为了使用这些快捷方式,您必须使用gwt查询snaptshot(1.4.4-SNAPSHOT),否则您必须使用
JsUtils.runJavascriptFunction
而不是
JsUtils.jsni
,请参见我的答案:哇!我试过GQuery lib,非常好)我也读过你关于类似主题的答案,但在实现过程中,我在jsni(eval,new FormData()):[error][pvr8kapp]-周五5月22日18:21:25 EEST 2015 com.harmonic.common.app.client.UncaughtExceptionProxy严重:(ReferenceError)@com.google.gwt.query.client.js.JsUtils::runJavascriptFunctionImpl(Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;Lcom/google/gwt/core/client/jsarraymix;)([JavaScript对象(68958),String:'eval',JavaScript对象(88221)]:'FormData'未定义我做错了什么?记住比
new FormData()
必须用双引号括起来,它是一个用JS计算的字符串。还是另一个问题?