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

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


Hi again,


This implementatin http://ws.stfx.eu/FSNU7TV3O5FY also shows a static 
downloading progress bar without any download, but the download works. 
Ofcourse any example with another url for a smilar large file could work 
for me. I'm just testing with the file for this [1] (Soon a proper 
announcement).

[1] http://mutabit.com/offray/blog/en/entry/panama-papers-1

Cheers,

Offray

On 12/05/16 18:00, Offray Vladimir Luna Cárdenas wrote:
> 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