Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition","attachment; filename=SailBig.jpg");
Response.TransmitFile( Server.MapPath("~/images/sailbig.jpg") );
Response.End();
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Code
protected void Page_Load(object sender, EventArgs e)

{
string link = "http://localhost:1700/ImageAdminPortal/ImageDataDownload.aspx";
//I get the link from the querystring here - that code has been left out
if (link != null)

{
byte[] _data;
_data = this.LoadFromURL(link);
FileStream fs = new FileStream("c:/newImage.jpg", FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Write(_data, 0, _data.Length);
fs.Close();
}
}
protected byte[] LoadFromURL(string url)

{
// create a request for the URL
WebRequest wr = WebRequest.Create(url);

byte[] result;
byte[] buffer = new byte[4096];

// get the response and buffer
using (WebResponse response = wr.GetResponse())

{
using (Stream responseStream = response.GetResponseStream())

{
using (MemoryStream memoryStream = new MemoryStream())

{
int count = 0;
do

{
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
result = memoryStream.ToArray();
}
}
}
return result;

}