您所在的位置: 程序员家园 -> 家园博客 ->
 
在哪里摔倒
就在哪里自己爬起来

用户登录

查  找

最新评论

最新留言

常用网站

网易邮箱 GMAIL  

百度搜索 MSDN

霏凡软件 BT精品

影视帝国 射 手 网

电驴下载 全 库 网

友情连接

茄菲的窝 冰冰博客

枫叶飘零 玫  瑰

ACEN 云 豹 子

统  计



下载文件
狼子 发表于 2007-3-1 18:24:00 阅读全文 | 回复(0) | 引用通告 | 编辑

这两个方法不是我自己写的,哪里看到的我也搞不清了,硬盘上的一个txt文件,现在用上了,就把这两个方法记录在这里:

private void DownLoadFile(string fileName)
    {
        if (System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(fileName)))
        {
            System.Web.HttpContext.Current.Response.ClearHeaders();
            string showName = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(fileName));//转换成显示文件名
            System.Web.HttpContext.Current.Response.ContentType = "application/zip;";
            System.Web.HttpContext.Current.Response.Charset = "UTF-8";
            System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", showName));
            System.Web.HttpContext.Current.Response.BinaryWrite(GetFileBytes(fileName));
            System.Web.HttpContext.Current.Response.End();
        }
    }
    private byte[] GetFileBytes(string fileName)
    {
        try
        {
            System.IO.FileStream fileStream = new System.IO.FileStream(System.Web.HttpContext.Current.Server.MapPath(fileName), System.IO.FileMode.Open, System.IO.FileAccess.Read);
            byte[] bytes = new byte[fileStream.Length];
            fileStream.Read(bytes, 0, (int)fileStream.Length);
            return bytes;
        }
        catch
        {
            return null;
        }
    }

调用的时候很简单,就这样子:

DownLoadFile(fileName);

发表评论:

    昵称:
    密码:
    主页:
    标题:
Powered by Oblog.