C#实现word文件下载的代码

 更新时间:2013年12月24日 15:36:18   作者:  
这篇文章主要介绍了C#实现word文件下载的代码,有需要的朋友可以参考一下

效果:

思路:

简单的有两种方式下载,一种是流下载,一种是WriteFile下载。以下是使用WriteFile下载。

代码:

复制代码 代码如下:

protected void LinkButton1_Click(object sender, EventArgs e)
        {
            try
            {
                //WriteFile实现下载(word)
                string fileName = "qingpingguo.docx";//客户端保存的文件名
                string filePath = Server.MapPath("~\\excel\\" + tb1.Text);//路径

                FileInfo fileInfo = new FileInfo(filePath);
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
                Response.AddHeader("Content-Length", fileInfo.Length.ToString());
                Response.AddHeader("Content-Transfer-Encoding", "binary");
                Response.ContentType = "application/octet-stream";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                Response.WriteFile(fileInfo.FullName);
                Response.Flush();
                Response.End();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }

            /*************以下为流方式下载****************/
            //string fileName = "aaa.txt";//客户端保存的文件名
            //string filePath = Server.MapPath("DownLoad/aaa.txt");//路径

            ////以字符流的形式下载文件
            //FileStream fs = new FileStream(filePath, FileMode.Open);
            //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();

        }

相关文章

  • c#高效的线程安全队列ConcurrentQueue<T>的实现

    c#高效的线程安全队列ConcurrentQueue<T>的实现

    这篇文章主要介绍了c#高效的线程安全队列ConcurrentQueue<T>的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C# 利用VS编写一个简单的网游客户端

    C# 利用VS编写一个简单的网游客户端

    本文主要介绍了在visual studio中利用C#编写一个简单的网游客户端,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • C#使用Sleep(Int32)方法实现动态显示时间

    C#使用Sleep(Int32)方法实现动态显示时间

    这篇文章主要为大家详细介绍了C#如何使用Sleep(Int32)方法实现动态显示时间,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-01-01
  • c#获取两个特定字符之间的内容并输出的方法

    c#获取两个特定字符之间的内容并输出的方法

    今天小编就为大家分享一篇c#获取两个特定字符之间的内容并输出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 浅谈C#2.0泛型中的变化:default关键字

    浅谈C#2.0泛型中的变化:default关键字

    下面就详细的说明一下。之所以会用到default关键字,是因为需要在不知道类型参数为值类型还是引用类型的情况下,为对象实例赋初值
    2013-09-09
  • C#使用Objects Comparer进行对象比较

    C#使用Objects Comparer进行对象比较

    本文主要介绍了C#使用Objects Comparer进行对象比较,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • .net文件上传时实现通过文件头确认文件类型的方法

    .net文件上传时实现通过文件头确认文件类型的方法

    这篇文章主要介绍了.net文件上传时实现通过文件头确认文件类型的方法,很实用的功能,需要的朋友可以参考下
    2014-07-07
  • C#基于UDP实现的P2P语音聊天工具

    C#基于UDP实现的P2P语音聊天工具

    这篇文章主要是一个应用,使用udp传送语音和文本等信息。在这个系统中没有服务端和客户端,相互通讯都是直接相互联系的,能够很好的实现效果
    2015-09-09
  • C# list<T>去重的实现

    C# list<T>去重的实现

    List集合在开发过程中很常见,经常我们要对该集合进行一系列操作,本文主要介绍了C# list<T>去重的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 基于C#的winform实现数字华容道游戏

    基于C#的winform实现数字华容道游戏

    这篇文章主要为大家详细介绍了基于C#的winform实现数字华容道游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论