Skip to content

Instantly share code, notes, and snippets.

@nboubakr
Created December 5, 2013 19:36
Show Gist options
  • Save nboubakr/7812375 to your computer and use it in GitHub Desktop.
Save nboubakr/7812375 to your computer and use it in GitHub Desktop.
Simple function in C# to download a file from the internet, supports to resume the download.
public static void downloadFile(string sourceURL, string destinationPath)
{
long fileSize = 0;
int bufferSize = 1024;
bufferSize *= 1000;
long existLen = 0;
System.IO.FileStream saveFileStream;
if (System.IO.File.Exists(destinationPath))
{
System.IO.FileInfo destinationFileInfo = new System.IO.FileInfo(destinationPath);
existLen = destinationFileInfo.Length;
}
if (existLen > 0)
saveFileStream = new System.IO.FileStream(destinationPath,
System.IO.FileMode.Append,
System.IO.FileAccess.Write,
System.IO.FileShare.ReadWrite);
else
saveFileStream = new System.IO.FileStream(destinationPath,
System.IO.FileMode.Create,
System.IO.FileAccess.Write,
System.IO.FileShare.ReadWrite);
System.Net.HttpWebRequest httpReq;
System.Net.HttpWebResponse httpRes;
httpReq = (System.Net.HttpWebRequest) System.Net.HttpWebRequest.Create(sourceURL);
httpReq.AddRange((int) existLen);
System.IO.Stream resStream;
httpRes = (System.Net.HttpWebResponse) httpReq.GetResponse();
resStream = httpRes.GetResponseStream();
fileSize = httpRes.ContentLength;
int byteSize;
byte[] downBuffer = new byte[bufferSize];
while ((byteSize = resStream.Read(downBuffer, 0, downBuffer.Length)) > 0)
{
saveFileStream.Write(downBuffer, 0, byteSize);
}
}
@maythamfahmi
Copy link

System.UnauthorizedAccessException: 'Access to the path 'F:\asd' is denied.'

Please help me!

This is not related to code, the code telling you that you do not have permission on F drive with the given folder name

@Mervinpais
Copy link

System.UnauthorizedAccessException: 'Access to the path 'F:\asd' is denied.'

Please help me!

Check if drive F: exists (open file explorer and make sure you can access the drive with the files/folders in it etc.)
then try running the code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment