[Pharo-users] Downloading large files with a progress bar

Offray Vladimir Luna Cárdenas offray.luna at mutabit.com
Thu May 12 19:00:59 EDT 2016


Hi Sven,

Thanks for your quick answer. I tried both approaches but I'm missing 
something. See my last attempt at http://ws.stfx.eu/KBVBAP72IWOO with 
the last one. I get a progress bar message, but not the advancements on 
it. What I'm missing?

Cheers,

Offray

ps: The file I'm trying to download is covered by the Open Data Base 
License.

On 12/05/16 17:24, Sven Van Caekenberghe wrote:
> Hi Offray,
>
> The actual implementation of #saveContentsToFile: can be found in ZnHttpSaveContentsToFile>>#performOperation where you can see how ZnClient is invoked. Just copy that with signalProgress: true added and you should be good.
>
> Alternatively, you could wrap the first expression as follows:
>
> ZnSignalProgress
>    value: true
>    during: [ myUrl asUrl saveContentsToFile: file ]
>
> ZnSignalProgress is a DynamicVariable that is used by ZnClient to figure out if progress should be signalled. It takes precedence over the option #signalProgress. See #withProgressDo: if you are interested.
>
> HTH,
>
> Sven
>
>> On 13 May 2016, at 00:14, Offray Vladimir Luna Cárdenas <offray.luna at mutabit.com> wrote:
>>
>> Hi,
>>
>> I'm using
>>
>> myUrl asUrl saveContentsToFile: file
>>
>> to download large files and is working fine. But I would like to add a progress bar to show the progress to the user. Previously I used
>>
>> ===============
>> [: bar |
>>         bar title: aString.
>>         [
>>             "A classical ZnClient download with signalProgress: true;"
>>         ]
>>             on: HTTPProgress
>>             do: [ :progress |
>>                 progress isEmpty ifFalse: [ bar current: progress percentage ].
>>                 progress resume ].
>>     ] asJob run.
>> ===============
>>
>> but I don't know how to signal progress with "saveContentsToFile".
>>
>> Any hints?
>>
>> Thanks,
>>
>> Offray
>>
>
>





More information about the Pharo-users mailing list