2013-11-24 2 views
0

GWT에서 업로드 한 파일의 업로드 비율을 관찰하고 싶습니다. 당신은 XMLHttpRequest를 사용하고이 같은 이벤트 리스너를 추가 할 수 있습니다 자바 스크립트에서GWT 진행 리스너가있는 파일 업로드

:

var oReq = new XMLHttpRequest(); 

oReq.upload.addEventListener("progress", updateProgress, false); 

// progress on transfers from the server to the client (downloads) 
function updateProgress (oEvent) { 
    if (oEvent.lengthComputable) { 
    var percentComplete = oEvent.loaded/oEvent.total; 
    // ... 
    } else { 
    // Unable to compute progress information since the total size is unknown 
    } 
} 

(. 위의 코드는 here 출신은)

이것은 또한으로 jQuery를 아주 쉽게 이루어집니다 :

var $request = $.ajax({ 
     xhr: function() { 
     xhrNativeObject = new window.XMLHttpRequest(); 
     //Upload progress 
     xhrNativeObject.upload.addEventListener("progress", function(event) { ... } 
     } 
}); 

나는 GWT와 똑같이하고 싶다. RequestBuilder을 사용하여 요청을 보낼 수는 있지만 이는 XMLHttpRequest JavaScriot 객체에 대한 상위 수준의 래퍼 일뿐입니다. 또 다른 가능성은 자바 스크립트 XMLHttpRequest의 JSNI 래퍼 인 GWT XMLHttpRequest 클래스를 사용하는 것입니다.

내 문제 :

가 어떻게 XMLHttpRequest의 또는 RequestBuilder에 진행 리스너를 추가 할 수 있습니까?

답변

1

gwt 업로드 라이브러리 전에 사용했습니다.

미국을 재발견 할 필요가 없습니다. 경륜 그룹

gwt-upload-project page

+0

gwt가 아닌 백엔드와 gwt-upload가 제공하는 ui없이 어떻게 사용할 수 있습니까? – confile

0
//upload spring service conroller 
@RequestBody public void uploadImage(@RequestParam("file") MultipartFile file){ 
    //what ever you want 
} 

XML 구성

<bean id=multipartResolver" class ="org.springframework.web.multipart.commons.CommonsMultipartResolver" /> 
+0

@ Grails를 백엔드로 사용합니다. 업로드 진행을 위해 GWT 부분을 처리하는 방법을 얻지 못했습니까? – confile

+0

내 첫 번째 대답에, gwt - 업로드 프로젝트도 progressbar있다. 나는 그것을 다룬다. 파일 업로드시 진행 상황을 보여줍니다. 자신의 업로드 구성 요소를 구현하는 경우 그것이 작동하는 방법을 모릅니다. –

+0

미안하지만 이건 내가 도와주지 않는다 – confile

0

GWT Elemental에 대한

감사는 AFAICT 이미 필요한 모든이 포함되어 있습니다.

+0

GWT 요소에 진행 수신기가있을 때 찾지 못했습니다. – confile

+0

나는'gwt-elemental' JAR로부터'elemental.xml.XMLHttpRequest','elemental.xml.XMLHttpRequestUpload','elemental.events.XMLHttpRequestProgressEvent','elemental.html.FormData' 클래스에 대해서 이야기하고 있습니다. '') –

+0

간단한 예제를 게시 해 주시면 어떻게 작동하는지 알 수 없습니다. – confile