title: when image download then get error "... is not a valid virtual path"
body: <hr>
  
  <p>In below code image search from Google and display it.
  i add one link-button in every image that is download. 
   Now problem is get some error when i download image .
  Error is " ... is not a valid virtual path."</p>
  
  <p>how to solve it??</p>
  
  <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
  &lt;head runat="server"&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;form id="form2" runat="server"&gt;
  &lt;div&gt;
      &lt;asp:TextBox ID="TextBox1" runat="server" Width="300px"&gt;&lt;/asp:TextBox&gt;&amp;nbsp;
      &lt;asp:Button ID="btnSearch" runat="server" Text="Google Image Search" OnClick="Button1_Click" /&gt;&lt;br /&gt;
      &lt;asp:DataList ID="dlSearch" runat="server" RepeatColumns="6" CellPadding="5"&gt;
          &lt;ItemTemplate&gt;
              &lt;asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='&lt;%#Eval("Url") %&gt;'&gt;
                  &lt;asp:Image ID="img1" src='&lt;%#Eval("Url") %&gt;' width="200" height="100px" runat="server" /&gt;
              &lt;/asp:HyperLink&gt;
              &lt;asp:LinkButton ID="lnkDownload" Text = "Download" CommandArgument = '&lt;%# Eval("Url") %&gt;' runat="server" OnClick = "DownloadFile"&gt;&lt;/asp:LinkButton&gt;
              &lt;br /&gt;
          &lt;/ItemTemplate&gt;
          &lt;FooterTemplate&gt;
              &lt;asp:Label Visible='&lt;%#bool.Parse((dlSearch.Items.Count==0).ToString())%&gt;' runat="server"
                  ID="lblNoRecord" Text="No Record Found!"&gt;&lt;/asp:Label&gt;
          &lt;/FooterTemplate&gt;
      &lt;/asp:DataList&gt;       
  &lt;/div&gt;
  &lt;/form&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <hr>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Data;
  using Google.API.Search;
  using System.IO;
  using System.Drawing;
  using System.Drawing.Imaging;
  using System.Net;
  
  public partial class ImageSearch : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {
      if (!IsPostBack)
      {
          dlSearch.DataSource = null;
          dlSearch.DataBind();
          TextBox1.Text = "";
      }
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
      DataSet ds = new DataSet();
      DataTable dt = new DataTable();
      dt.Columns.Add(new DataColumn("Title", typeof(string)));
      dt.Columns.Add(new DataColumn("OriginalContextUrl", typeof(string)));
      dt.Columns.Add(new DataColumn("Url", typeof(string)));
      GimageSearchClient client = new GimageSearchClient("www.Google.com");
      IList&lt;IImageResult&gt; results = client.Search(TextBox1.Text, 30);
      foreach (IImageResult result in results)
      {
          DataRow dr = dt.NewRow();
          dr["Title"] = result.Title.ToString();
          dr["OriginalContextUrl"] = result.OriginalContextUrl;
          dr["Url"] = result.Url;
          dt.Rows.Add(dr);
      }        
      dlSearch.DataSource = dt;
      dlSearch.DataBind();
  }
  
  protected void DownloadFile(object sender, EventArgs e)
  {
      string filePath = (sender as LinkButton).CommandArgument;
      Response.ContentType = ContentType;
      Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath));
      Response.WriteFile(filePath);
      Response.End();
  }
  }
  </code></pre>