private void Download(UpdateFile hak, string url, NetworkCredential credentials, Int64 filesize) { var request = (FtpWebRequest)WebRequest.Create(url); request.Method = WebRequestMethods.Ftp.DownloadFile; request.Credentials = credentials; var response = (FtpWebResponse)request.GetResponse(); var responsestream = response.GetResponseStream(); if (responsestream != null) { var file = File.Create(_nwnRoot + hak.Path); var buffer = new byte[32 * 1024]; int read; Int64 downloaded = 0; while ((read = responsestream.Read(buffer, 0, buffer.Length)) > 0) { file.Write(buffer, 0, read); downloaded = downloaded + read; StatusUpdate("Downloading " + hak.Path + " Received: " + downloaded + " of " + filesize); Application.DoEvents(); } file.Close(); responsestream.Close(); } response.Close(); }
private static Int64 GetFileSize(UpdateFile hak, string url, NetworkCredential credentials) { var request = (FtpWebRequest)WebRequest.Create(url); request.Method = WebRequestMethods.Ftp.GetFileSize; request.Credentials = credentials; var response = (FtpWebResponse)request.GetResponse(); var length = response.ContentLength; response.Close(); return(length); }