在.NET中利用XMLHTTP下载文件

来源:互联网 发布:ubuntu caffe cuda8.0 编辑:程序博客网 时间:2024/05/28 01:34
利用XMLHTTP下载文件,和以前的方法一样,先添加引用-COM-Microsoft Xml 3.0,然后在代码开始处写: 

using MSXML2;

下面就是主要的代码:

private void Page_Load(object sender, System.EventArgs e)
{
  string Url = "http://dotnet.aspx.cc/Images/logoSite.gif";
  string StringFileName = Url.Substring(Url.LastIndexOf("/") + 1);
  string StringFilePath = Request.PhysicalApplicationPath;

  if (!StringFilePath.EndsWith("/"))
  StringFilePath += "/";

  MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
  _xmlhttp.open("GET", Url, false, null, null);
  _xmlhttp.send("");

  if (_xmlhttp.readyState == 4)
  {
  if (System.IO.File.Exists(StringFilePath + StringFileName))
  System.IO.File.Delete(StringFilePath + StringFileName);

  System.IO.FileStream fs = new System.IO.FileStream(StringFilePath + StringFileName, System.IO.FileMode.CreateNew);
  System.IO.BinaryWriter w = new System.IO.BinaryWriter(fs);
  w.Write((byte[]) _xmlhttp.responseBody);
  w.Close();
  fs.Close();

  Response.Write("文件已经得到。<br><a href='" + Request.ApplicationPath + StringFileName + "' target='_blank'>");
  Response.Write("查看" + StringFileName + "</a>");
  }
  else
  Response.Write(_xmlhttp.statusText);

  Response.End();
}
0 0
原创粉丝点击