博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
点滴积累【C#】---C#实现下载word
阅读量:5839 次
发布时间:2019-06-18

本文共 2067 字,大约阅读时间需要 6 分钟。

效果:

思路:

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

代码:

1 protected void LinkButton1_Click(object sender, EventArgs e) 2         { 3             try 4             { 5                 //WriteFile实现下载(word) 6                 string fileName = "qingpingguo.docx";//客户端保存的文件名 7                 string filePath = Server.MapPath("~\\excel\\" + tb1.Text);//路径 8  9                 FileInfo fileInfo = new FileInfo(filePath);10                 Response.Clear();11                 Response.ClearContent();12                 Response.ClearHeaders();13                 Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);14                 Response.AddHeader("Content-Length", fileInfo.Length.ToString());15                 Response.AddHeader("Content-Transfer-Encoding", "binary");16                 Response.ContentType = "application/octet-stream";17                 Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");18                 Response.WriteFile(fileInfo.FullName);19                 Response.Flush();20                 Response.End();21             }22             catch (Exception ex)23             {24                 Response.Write(ex.Message);25             }26 27             /*************以下为流方式下载****************/28             //string fileName = "aaa.txt";//客户端保存的文件名29             //string filePath = Server.MapPath("DownLoad/aaa.txt");//路径30 31             ////以字符流的形式下载文件32             //FileStream fs = new FileStream(filePath, FileMode.Open);33             //byte[] bytes = new byte[(int)fs.Length];34             //fs.Read(bytes, 0, bytes.Length);35             //fs.Close();36             //Response.ContentType = "application/octet-stream";37             ////通知浏览器下载文件而不是打开38             //Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));39             //Response.BinaryWrite(bytes);40             //Response.Flush();41             //Response.End();42 43         }

 

转载于:https://www.cnblogs.com/xinchun/p/3488247.html

你可能感兴趣的文章
深入理解Spring Redis的使用 (九)、通过Redis 实现 分布式锁 的 BUG,以及和数据库加锁的性能测试...
查看>>
Linux vim编写程序时出现高亮字符,如何取消?
查看>>
[Algorithm] Heap data structure and heap sort algorithm
查看>>
css 背景透明
查看>>
发布《iHMI43智能液晶模块》 4.3寸 真彩液晶
查看>>
jQuery新的事件绑定机制on()
查看>>
共享文件夹:The user has not been granted the requested logon type at this computer
查看>>
Java和C++中多态的实现方式
查看>>
DOM4J读取XML文件
查看>>
Server(Iocp)的那些烦恼
查看>>
(3)选择元素——(9)为交替的列加样式(Styling alternate rows)
查看>>
安装ecshop提示“安装数据失败”或者“创建管理员帐号”
查看>>
PHP中判断字符串是否包含某个字符时,建议使用正则表达式preg_match()
查看>>
对象布局已知时 C++ 对象指针的转换时地址调整
查看>>
iOS - OC NSSet 集合
查看>>
2.算法
查看>>
Struts2之页面取得当前actionName
查看>>
android完全退出应用程序
查看>>
模拟IE登录一个需要(windows身份)验证的网站
查看>>
jquery.cookie.js 用法 jquery获取当前cookie
查看>>