c# 流的方式下载文件

因为下载的同时要更新数据库的信息,所以直接写在超链接里就不行了.

用window.openIE有的 版本还不支持.

后来想到用一个aspx页面后台处理下载,

用流的方式,但有一个问题是 要下载的文件和网站不在同一机器.地址是类似http://...../a.zip

这样的话,FileStream似乎不支持网络路径.

代码如下:

  string fileName = strName;//客户端保存的文件名
        string filePath = "http://.....//a.zip";//路径 
        //以字符流的形式下载文件
        FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate,FileAccess.Write);
        byte[] bytes = new byte[(int)fs.Length];
        fs.Read(bytes, 0, bytes.Length);
        fs.Close();       
        Response.ContentType = "application/octet-stream";
        //通知浏览器下载文件而不是打开
        Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
        Response.BinaryWrite(bytes);
        Response.Flush();
        Response.End();

怎么办,有什么好办法.


Helenr
浏览 1634回答 2
2回答

慕少森

用WebClient访问 http://...../a.zip
打开App,查看更多内容
随时随地看视频慕课网APP