Contador de download - WebService

Boa tarde,

Tenho na minha aplicação(client-server) um método que me retorno um arquivo, só que esse arquivo pode variar e muito de tamanho. Teria a possibilidade de exibir um contador do download para o Client?

Olá

Caso tenha usado JEE, tem um modo de usar o Filter.
Dai vc intercepta a requisição e acrescentar o contador do arquivo, no seu caso. Mas há n possibilidades de trabalhar

Sgue a referência: http://java.sun.com/products/servlet/Filters.html

Editado:
Não havia reparado qual área estava o post.
Então se você usar o Filter terá sucesso no que está pretendendo fazer, ok!

Espero ter ajudado
flwsss

Bom talvez tenha me expressado mal :smiley:

tenha um WebService com Um ServicoWeb que possui um método que me retorna um arquivo.

/** * Web service operation */ @WebMethod(operationName = "obter") public DataHandler obter(@WebParam(name = "cliente") String cliente) { try{ return new AtualizacaoOnLine(cliente).obter(); } catch (Exception ex){ ex.printStackTrace(); } return null; }

e no meu cliente tenho uma uma aplicação desktop feita em java também, que consome esse WebService e basicamente é usado na seguinte forma:

form.addInfo("Baixando as atualizações..."); resposta = AtuForm.getWebService().obter(cliente); form.addInfo("Download completo.");

e agora, o que posso fazer pra colocar um contador na hora do download desse arquivo?

UP!!!..

Alguém? :confused:

Mas que contador é esse? Contador de download (quantidade) ou o progresso do download???
Mais um vez pergunto, UPs são permitidos no GUJ???

progresso do download pra ser mais exato.

Desculpas se UP’s não são permitidos.

Então, não sei se existe uma forma “rápida e fácil” de fazer isso (alguma biblioteca).
Uma alternativa seria obter a quantidade total de bytes do arquivo e ir verificando (a cada meio segundo por exemplo) a quantidade que foi baixada e calcular a porcentagem. Você teria que usar uma Thread para isso. Você teria então um WebService p/ obter o tamanho do arquivo e um para baixá-lo.

[]´s

Certo, imaginei que seria algo assim, mas o que me falta é saber qual a quantidade que foi baixada até aquele momento, onde consigo essa informação? Isso eu posso conseguir no Client?