• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 349
  • Last Modified:

How do I programmatically download a file from a specified URL?

Hi Experts

I am looking for a snippet of code that will allow me to programmatically download a zip or xml file from a specified URL on the web. The code will have to work from a WPF program, so it is windows based. The URL and file will be on a domain that I administrate, so I will have full read/write access to the file. I will also want to save the file to a folder on the local C-drive.
0
Fritz41
Asked:
Fritz41
  • 2
1 Solution
 
Jaime OlivaresSoftware ArchitectCommented:
use the System.Net.WebClient class, like:

System.Net.WebClient Client = new System.Net.WebClient ();
Client.DownloadFile("http://www.yourdomain.com/yourfile.zip", @"c:\somefolder\yourfile.zip");
0
 
esesjay4Commented:
Using a stream is the easiest and safest way to read a file on a client machine.  Hope this code helps:

Using Microsoft.Win32;
Using System.IO;
 
 
// Put this section of code in your function
 
/************ BEGIN ******************************************/
OpenFileDialog openDialog = new OpenFileDialog();
 
// Setup your file filters here
openDialog.Filter = "Text Files (*.txt)|*.txt|All files (*.*)|*.*";
 
// Variable that stores your file data
string fileData;
 
if (openDialog.ShowDialog() == true)
{
	using (Stream fileStream = openDialog.OpenFile())
	{
		int numBytesToRead = (int)fileStream.Length;
		byte[] bytes = new byte[numBytesToRead];
		int numBytesRead = 0;
		while (numBytesToRead > 0)
		{
			int n = fileStream.Read(bytes, numBytesRead, numBytesToRead);
			if (n == 0)
				break;
 
			numBytesRead += n;
			numBytesToRead -= n;
		}
		fileStream.Close();
 
                  // This variable has your file data.
		fileData = Encoding.ASCII.GetString(bytes);
	}
}
 
/************ END ******************************************/

Open in new window

0
 
esesjay4Commented:
whoops...my code requires the user to actually select the file.  So this might not work for you...sorry.
0
 
Fritz41Author Commented:
Thanks, this seems like exactly what I was looking for.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now