Solved

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

Posted on 2008-10-03
4
331 Views
Last Modified: 2013-11-12
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
Comment
Question by:Fritz41
  • 2
4 Comments
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 200 total points
ID: 22639687
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
 

Expert Comment

by:esesjay4
ID: 22639696
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
 

Expert Comment

by:esesjay4
ID: 22639702
whoops...my code requires the user to actually select the file.  So this might not work for you...sorry.
0
 

Author Closing Comment

by:Fritz41
ID: 31502982
Thanks, this seems like exactly what I was looking for.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question