首页 / ASP.NET / 正文

ASP.NET从URL链接地址下载文件到本地(实例源码)

40176 2 发布于: 2014-08-23 读完约需6分钟

在ASP.NET的WebForm应用程序中,实现从URL链接地址下载文件到本地还是比较方便和简单的,今天就分享一个结合下载实现的实例给大家,其实现的核心代码如下:

//创建Stream
      Stream stream = null;
      //一次读取并返回到客户端的字节数
      var bytesToRead = 10000;
      //缓存上面读取到的字节
      var buffer = new Byte[bytesToRead];
      try
      {
        var url = "http://dldir1.qq.com/qqfile/qq/QQ6.2/12179/QQ6.2.exe";
        //创建WebRequest
        var fileReq = (HttpWebRequest)HttpWebRequest.Create(url);
        //为请求声明一个response
        var fileResp = (HttpWebResponse)fileReq.GetResponse();
        if (fileReq.ContentLength > 0)
          fileResp.ContentLength = fileReq.ContentLength;
        //从请求响应中获取返回的Stream
        stream = fileResp.GetResponseStream();
        //准备当前客户端的响应
        var resp = HttpContext.Current.Response;
        //指定响应头的类型
        resp.ContentType = "application/octet-stream";
        //指定返回文件的名称
        resp.AddHeader("Content-Disposition", "attachment; filename="qq.exe"");
        //指定返回文件的大小
        resp.AddHeader("Content-Length", fileResp.ContentLength.ToString());
        int length;
        do
        {
          //检测当前客户端是否仍然和服务器保持连接状态
          if (resp.IsClientConnected)
          {
            //读取数据到缓冲区
            length = stream.Read(buffer, 0, bytesToRead);
            resp.OutputStream.Write(buffer, 0, length);
            resp.Flush();
            //清空缓冲区
            buffer = new Byte[bytesToRead];
          }
          else
          {
            //如果客户端和服务器和连接已丢失,则放弃下载
            length = -1;
          }
        } while (length > 0); //循环,直到stream的结束
      }
      finally
      {
        if (stream != null)
        {
          //关闭stream
          stream.Close();
        }
      }

本例源码:链接: http://pan.baidu.com/s/1qWFKS8W 密码: kie1

下载后解压,打开项目,在浏览器中运行文件—download-file-from-url.aspx 即可

注:本实例的开发环境:VS2013 UPDATE 3,.NET版本:4.5

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: 跨平台开发框架--Xamarin获5400万美元C轮投资

下一篇: C#运行WCF服务出现HTTP could not register URL错误的解决方案(含简单解决)

本文永久链接码友网 » ASP.NET从URL链接地址下载文件到本地(实例源码)

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册