hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From umpirsky <umpir...@gmail.com>
Subject Re: visualizing upload/download status in a statusbar
Date Mon, 17 Nov 2008 22:48:25 GMT

postMethod.setRequestEntity(new UmpirskyRequestEntity(new
MultipartRequestEntity(parts, postMethod.getParams()), new
UmpirskyProgressListener(this, bytesToSend)));

and in my case UmpirskyProgressListener :


package umpirsky;

import java.util.Observable;

import umpirsky.UmpirskyRequestEntity.ProgressListener;

public class UmpirskyProgressListener extends Observable implements
ProgressListener {
	/**
	 * Number of bytes to send
	 */
	private long bytesToSend;

	/**
	 * Progress constructor
	 *
	 * @author Saša Stamenković <umpirsky@gmail.com>
	 * @param UmpirskyUploader observer applet is observer. monitors upload
progress
	 * @param long bytesToSend number of bytes that need to be sent
	 */
	public UmpirskyProgressListener(UmpirskyUploader observer, long
bytesToSend) {
		// for some reson, twice much bytes is sent to server, so this is ugly
patch
		this.bytesToSend = 2 * bytesToSend;
		this.addObserver(observer);
	}

	/**
	 * Triggered on every byte sent
	 *
	 * @author Saša Stamenković <umpirsky@gmail.com>
	 * @param long bytes number of bytes sent
	 * @return void
	 */
	public void transferred(long bytes) {
		this.setChanged();
		this.notifyObservers((float) bytes/this.bytesToSend * 100);
	}

}

you can implement your own ProgressListener and do what is needed there...in
my case that is observable listener which notifies observer to update GUI.

Hope this helps, if not don't be hesitate to ask ;)



soapergem wrote:
> 
> umpirsky,
> 
> Could you post a complete code example please? I am still not sure how to
> use this class. Thanks.
> 
> Regards,
> 
> Gordon
> 
> 
> umpirsky wrote:
>> 
>> Cool, it works!
>> 
>> Seems like number of bytes sent is about 2Xfile.lenght().
>> 
>> For file size 105542b it sends 211606b,
>> For file size 43062b it sends 86642b
>> 
>> any explanation???
>> 
>> 
>> Marcel Schiffel wrote:
>>> 
>>> Hi,
>>> 
>>> it's wrapped around another request entity, for example:
>>> 
>>> 		PostMethod method = new PostMethod(...);
>>> 		FileRequestEntity fre = new FileRequestEntity(someFile,
>>> "contentType");
>>> 		method.setRequestEntity(new CountingRequestEntity(fre, listener));
>>> 
>>> I've been able to use it with only minor changes (changed the type of
>>> the listener to ProgressHandle of the Netbeans Progress API). It's
>>> successfully counting the bytes sent, but I'm still not able to
>>> determine the total number of bytes that are sent, before executing the
>>> request. I'm therefore unable to tell the status bar what number of
>>> bytes is equivalent to 100%. Furthermore it is still not clear how to
>>> achieve the same thing when downloading a file (evaluating the response
>>> body stream).
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/visualizing-upload-download-status-in-a-statusbar-tp19685137p20549948.html
Sent from the HttpClient-User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message