FTP Meer downloads en Check de groote van bestand

Status
Niet open voor verdere reacties.

Beginnertjee

Gebruiker
Lid geworden
6 jun 2011
Berichten
20
Hey,

Heb nu een nieuwe bezigheid gevonden.
Ik probeer een downloader te maken van een ftp website.

Het downloaden van 1 bestandje lukt goed.
Maar ik heb nu wel 2 vraagjes.

1) Hoe krijg ik meerdere downloads ? bevoorbeeld: het downloaden van 2 of 3 bestanden.

2) Hoe kan ik checken of het gedownloade bestand dezelfde groote heeft als het bestand voor te downloaden. En als de groote van de bestanden gelijk zijn, dat ik mijn programma terug heropen dat hij dat bestand niet download. Maar als ik het bestand grooter maak en in de FTP server upload, dat hij dan terug hetzelfde bestand download omdat de groote niet gelijk is.


Als het niet zo duidelijk is wil ik het wel gerust terug uitleggen ;).
Hopelijk kan iemand me daarbij helpen.

Mijn code wat nu heb.
[CPP]
WebClient client = new WebClient();
// check de username en passwoord
client.Credentials = new NetworkCredential("test", "");

// Check file Size in Folder
string files = "3Ddata.exe";
FileInfo info = new FileInfo(files);
long s = info.Length;

// Array voor het downloaden van bestand
byte[] downloadbestand = client.DownloadData("ftp://127.0.0.1/Files/3Ddata.exe");
// bestand opslaan
FileStream bestand = File.Create(@"3Ddata.exe");
bestand.Write(downloadbestand, 0, downloadbestand.Length);
// connectie sluiten
bestand.Close();
[/CPP]

Met vriendelijke groeten ;).
 
Laatst bewerkt:
Even een projectje in elkaar geflatst ^^

VttPg.png


Functies:
-Multithreaded (Dan loopt je programma (main form) niet vast)
-Grootte bestand van URL vergelijken met het eventueel bestaande bestand en erop handelen.
-Bestand downloaden en opslaan op geselecteerd pad door gebruiker gedefinieerd.

Download het hier: http://www.mediafire.com/?0e8kqsvvzyzahuf

Succes ermee!
 
voor vraag 1 heb ik misschien nog wel een tip voor je.

De standaard dialog van downloaden van een bestand kan inderdaad maar 1 tegelijk selecteren. wat je kan doen is een custom dialog te gaan maken.

stap 1: uitlezen wat er op de website, server, target locatie staat.
stap 2: weergeven info van de bestanden op de dialog (naam, date last modified, grootte).
dit kan je dan in een listbox zetten ofzo, zodat de gebruiker de items kan selecteren die gedownload moeten worden.
stap 3: foreach loopje van geselecteerde items. daar de check van de grootte enzo uitvoeren en dan per stuk downloaden.

zelf heb ik dit principe een keer eerder gebruikt bij een outlook-addin. daar liep ik dus ook tegen het probleem aan dat je maar 1 item per keer kan downloaden.

uiteraard kan je het aanpassen door bijvoorbeeld automatisch items te downloaden gebaseerd op de grootte/date last modified (kan verandering van de item plaatsvinden waardoor de grootte hetzelfde blijft maar de data toch daadwerkelijk veranderd is). Hierdoor krijg je een synchronisatie van data (wat uiteindelijk je bedoeling is toch ?, zo niet: idee voor een leuke feature ^^?)

Mvg,

Westerland.

off-topic: weet iemand mijn reactie met een emoticon begint die ik niet kan verwijderen O_o
 
Laatst bewerkt:
kan ook korter.

als je een openfiledialog gebruikt. dan kan je simpelweg de property: Multiselect = true setten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan