BN+ Discussions Forum Index BN's Blog

BN+ Discussions

A place for open source software and programming support

Display the calendar
The time now is Thu May 23, 2013 9:44 am
All times are UTC + 0
View posts since last visit
View unanswered posts

Calendar event jegi1
May 28 1964(49 year old)
Calendar event JonasR
May 26 1991(22 year old)
Calendar event nick
May 25 1994(19 year old)
Calendar event thomasderoo
May 22 1996(17 year old)

 Forum index » .Net » Visual Basic » Class library

Moderators: Global Moderators
Post new topic  Reply to topic View previous topicView next topic
Page 1 of 2 [16 Posts]   Goto page 1  Next
   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
 [VB.Net 2005] FileDownloader
[v1.0.3] A class for downloading files in the background that supports a varity of features

Description: A class for downloading files in the background that supports info about their progress, the total progress, cancellation, pausing, and resuming. The downloads will run on a separate thread so you don't have to worry about multihreading yourself.

Note: an article about this class is available at the code project.
Note: A C#.Net version of this class is available here.

Downloads
Click here to download the demo project (source code)
Click here to download the demo application (exe file)

This class is part of the BN+ Framework.

Version: 1.0.3
Stability: stable

Known issues:
* The downloaded will create an empty file when no internet connection is available
* The downloaded will throw an exception when it attempts to override a file that's already in use

Strict: Yes
Explicit: Yes

Planned features:
* Add simultaneous file downloading (with full statistics and start/pause/resume/stop control for each download, and all downloads)
* Add segmented file downloading
* Add better support for different target directories for each file
* Add an option to limit individual and total download bandwidth
* Add download priorities
* Add download via FTP option
* Add a property OverwriteIfExists
* Add better error handling support
* Add Credentials (see contribution by Amirtich)


Licence: The GNU General Public License version 3 (GPL). Please do not redistribute this code under your own name and leave the credits intact.



FileDownloaderDemo.zip
 Description   FileDownloader demo application zip

 Download 
 Filename   FileDownloaderDemo.zip
 Filesize   15.84 KB
 Downloaded   431 Time(s)



FileDownloaderSource.zip
 Description   FileDownloader demo project source files zip

 Download 
 Filename   FileDownloaderSource.zip
 Filesize   30.21 KB
 Downloaded   902 Time(s)

_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Sun Apr 19, 2009 1:39 pm

 Last edited by [RTS]BN+VS* on Thu Jul 16, 2009 2:48 pm; edited 13 times in total
Reply with quote Back to top Go to bottom

   
Google





 Posted: Sun Apr 19, 2009 1:39 pm
Back to top Go to bottom

   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
Some screenshots



fileDownloader-downloading.gif
 Description   FileDownloader 1.0.2 demo screenshot - downloading the files
 Filesize   54.04 KB
 Viewed   1916 Time(s)

fileDownloader-downloading.gif




fileDownloader-calculating.gif
 Description   FileDownloader 1.0.0 beta demo screenshot - calculating the file sizes
 Filesize   47.45 KB
 Viewed   1906 Time(s)

fileDownloader-calculating.gif


_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Tue Apr 21, 2009 12:04 pm
Reply with quote Back to top Go to bottom

   
dartrax Offline

Byte

Joined: 04 Jun 2009
Posts: 4

View user's profile Send private message Send e-mail 
 

Hi,
i would like to see a "simultaneous file downloading"-capable version soon Very Happy
(ftp not so important for me)

It would be nice if it could support priorities, so it can automatically suspend one of the current downloads if one with a higher priority comes into the queue (and a maximum number of simultan downloads is reached), and resume them when there's space for lower-priority-downloads again.

Any chances on guessing a release date?? Wink

thanks for your great work!!
dartrax


Post Posted: Thu Jun 04, 2009 9:38 pm
Reply with quote Back to top Go to bottom

   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
Hey,

The simultaneous file downloads is the first item on my to-do list for this class. I hadn't thought of priorities yet, but it's a good idea - thnx for the suggestion.

Since I'm accepted for Google Summer of Code, I won't be able to work on this for at least 2 months. After that I will most likely start working on this class pretty quickly since it holds a few challenges I'd like to tackle.

If that's not quick enough for you, and a C# class is also acceptable, then have a look at this wonderful code Razz

Cheers
BN

_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Fri Jun 05, 2009 5:46 pm
Reply with quote Back to top Go to bottom

   
dartrax Offline

Byte

Joined: 04 Jun 2009
Posts: 4

View user's profile Send private message Send e-mail 
 

Hi,
thank you for sharing such an ingenius project. This is really a lucky find for me Shocked Surprised Very Happy

I'm still looking forward for your project since the download functionality is not a top priority of my current work. I already have a buggy pseudo-implementation to be able to implement other things around it, so I can wait.

I thank you so much!!!


Post Posted: Fri Jun 05, 2009 6:08 pm
Reply with quote Back to top Go to bottom

   
ph4ntom

Guest


Hi,

Thank you so much for sharing this example, this has helped me greatly in a project I'm working on,

I do however have a question, how difficult would it be to allow multiple file destinations with this class ?, the project that i'm working on will gather the file names from a sql database but i need to somehow change the file destination for each file depending on a field in the db,

Any help or suggestions you may have to modify your class would be very much appreciated,

Ph4nt0m


Post Posted: Tue Jun 09, 2009 9:30 am
Reply with quote Back to top Go to bottom

   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
Hey,

The current version is not really meant to be used in that way, and uses one directory to put all files into.
Simplified the use of multiple directories and alternate file names is on my to-do list for the next release, but like mentioned in my previous post, it's not scheduled to be released any time soon.

There is a way to do what you want with the current version, although it's not really good practice in my opinion.
Assuming you have a list of all files, and the directory they need to be saved to into memory, you can change the LocalDirectory property every time a file has finished downloading (there is an event for this).

Cheers
BN

_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Tue Jun 09, 2009 11:16 am
Reply with quote Back to top Go to bottom

   
ph4nt0m Offline

Byte

Joined: 09 Jun 2009
Posts: 2

View user's profile Send private message Send e-mail 
Hi BN,

Thanks for the speedy reply, i've actually ended up adding the download directory to the url string and splitting it out from there, although this will not be the best solution for most people it does suite my needs very well, the txtFilesToDownload is not used in my project as i posted that the file names are gathered from a mysql db so this method works for me,

And once again, thanks for a fantastic example

Ph4nt0m


Post Posted: Tue Jun 09, 2009 2:16 pm
Reply with quote Back to top Go to bottom

   
dartrax Offline

Byte

Joined: 04 Jun 2009
Posts: 4

View user's profile Send private message Send e-mail 
Hi,
adding my vote for independent download destination path for every single file here - this is a must-have if this will do it into my project Very Happy


Post Posted: Wed Jun 10, 2009 1:07 am
Reply with quote Back to top Go to bottom

   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
Hey guys,

I've updated the first post with a list of planned features and known issues. I'd like to thank everyone that provided suggestions, bugs reports and contributions to this class Smile

Cheers
BN

_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Sun Jun 14, 2009 1:18 pm
Reply with quote Back to top Go to bottom

   
ph4nt0m Offline

Byte

Joined: 09 Jun 2009
Posts: 2

View user's profile Send private message Send e-mail 
The overwrite if exists could be a nice feature, i did add something similar to my implementation of the class but it actually checks the file sizes first, if there is a difference in the file size then it overwrites, if its the same then it skips,

I've used your class for a Call of Duty map downloader project so the files may sometimes be the same filename but a different version or sizes so this again fitted my needs perfectly,

Just thought I'd mention this as it may been a handy extension to the overwrite if exists feature


Post Posted: Sun Jun 14, 2009 2:54 pm
Reply with quote Back to top Go to bottom

   
Lacan

Guest


I would like to thank you for all of you projects, especially this FileDownloader.
I'm really looking forward to the day when you have time and implement your "planned features".

This downloader fits already perfectly, if only the feature "simultaneous file downloading" is implemented, i would kiss your feet Very Happy

With Kind Regards,
Lacan


Post Posted: Thu Jul 16, 2009 2:35 pm
Reply with quote Back to top Go to bottom

   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
Hey guys,

Google Summer of Code is done for this year, so I can put some time into this project again - yay Razz

I'll post progress updates on my blog, and you can expect a new version - or at least a preview - in the next few weeks.

_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Wed Aug 19, 2009 8:47 pm
Reply with quote Back to top Go to bottom

   
dartrax Offline

Byte

Joined: 04 Jun 2009
Posts: 4

View user's profile Send private message Send e-mail 
Yeah, that sounds great!! SurprisedSmileVery Happy
I'm really excited to see the new features. My project grows here and there around the pseudo-downloader which patiently waits to be replaced by FileDownloader 2.0 Very Happy

dartrax


Post Posted: Wed Aug 19, 2009 9:11 pm
Reply with quote Back to top Go to bottom

   
[RTS]BN+VS* Offline

Site Admin


Joined: 20 Aug 2007
Posts: 399
Location: Infront of a computer screen

View user's profile Send private message Send e-mail Visit poster's website MSN Messenger 
Hey guys,

Since this forums is not a good way to document this class (library) and probably also not the best place to have the source code, I'm relocating these things. Since this project goes from a single class to a class library, the name also gets changed. The new name will be '.Net download library'.

Source code will now be available on SourceForge, in an SVN repository, and as archive packages for every release. The documentation will be placed on my wiki, where it can be a lot clearer and more extensive then on this forums. This documentation will cover all aspects of the library, except for the developers guide, which will be published as a Code Project article. These changes will hopefully make it easier for people to understand how the library works, so they can implement it faster, and also get other people involved in the project.

Links


All current docs for the FileDownloader class will be updated as soon as the first version of .Net download library has been released.

_________________
Check out Jeroen De Dauw's blog or youtube channel
"There are 10 kinds of programmers. Those who understand binary and those who don't."



Post Posted: Thu Aug 27, 2009 7:32 pm
Reply with quote Back to top Go to bottom

 
 
 
Display posts from previous   Sort by   
Page 1 of 2 [16 Posts]   Goto page 1  Next
Post new topic  Reply to topic View previous topicView next topic

 Forum index » .Net » Visual Basic » Class library


Display the legend
Jump to:  



[ Time: 0.8142s ][ Queries: 42 (0.1171s) ][ Debug on ]