hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From metalheart2003 <claumarti...@gmail.com>
Subject Re: visualizing upload/download status in a statusbar
Date Thu, 07 May 2009 09:03:43 GMT

thank very very very very very very very very very much!
I have worked!
It was not calling the method!
Great!
You are a machine!



metalheart2003 wrote:
> 
> Hi umpirsky, 
> Sorry, but I'm hard to run this code in my applet. 
> In
> 
> filePost.setRequestEntity(new UmpirskyRequestEntity(
> new MultipartRequestEntity(parts, filePost.getParams()),
> new UmpirskyProgressListener(this, (long)targetFile.length())));
> 
> in "this" I get the failure:
> 
> symbol  : constructor UmpirskyProgressListener(upload,long)
> location: class upload.UmpirskyProgressListener  new
> UmpirskyProgressListener(this, (long)targetFile.length())));
> Note: Some input files use unchecked or unsafe operations. 
> 
> 
> I spend all my code. 
> Thank you very much for your help!
> 
> ...
> import umpirsky.UmpirskyRequestEntity.ProgressListener;
> import umpirsky.UmpirskyUploader;
> import umpirsky.UmpirskyRequestEntity;
> import umpirsky.UmpirskyProgressListener;
> ...
> String targetURL =
> "http://localhost/swfupload/demos/swfobjectdemo/upload.aspx";
> PostMethod filePost = new PostMethod(targetURL);
> filePost.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE,true);
> try {
>     File targetFile = new File("C:\\temp\\pruebas\\1_MOV01114.rar"); //
> FICHERO
> 
>     UploadFichero.consola("Uploading #" + targetFileString +  "# to " +
> targetURL);
>     Part[] parts = {new FilePart("file", targetFile)}; //PARAMETROS
> 
>     filePost.setRequestEntity(
>             new MultipartRequestEntity(parts,
>             filePost.getParams())
>             );
> 
>     HttpClient client = new HttpClient();
>    
> client.getHttpConnectionManager().getParams().setConnectionTimeout(50000);
> 
>     filePost.setRequestEntity(new UmpirskyRequestEntity(
>                                 new MultipartRequestEntity(parts,
> filePost.getParams()),
>                                 new UmpirskyProgressListener(this,
> (long)targetFile.length())));
> ...
> public class UmpirskyProgressListener extends Observable implements
> ProgressListener {
>        ...
>         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);
>         }
> ...
>         public void transferred(long bytes) {
>                 this.setChanged();
>                 System.out.println("progress="+((float)
> bytes/this.bytesToSend * 100));
>                 //this.notifyObservers();
>         }
> 
> }
> }
> 
> 
> 
> umpirsky wrote:
>> 
>> 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-tp19685137p23422808.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