Improve company productivity with a Business Account.Sign Up

x
?
Solved

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

Posted on 2008-10-03
4
Medium Priority
?
348 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 800 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

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
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…
Did you know PowerShell can save you time with SaaS platforms? Simply leverage RESTfulAPIs to build your own PowerShell modules. These will kill repetitive tickets and tabs, using the command Invoke-RestMethod. Tune into this webinar to learn how…

606 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