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

发布时间:2021-01-03编辑:脚本学堂
如何在C#代码中实现word文件下载呢?这里分享一个实例代码,实现word文件的下载,有两种方法供大家参考,有需要的朋友不要错过。

C#实现word文件下载的效果图,如下:
 

C#实现word文件下载

思路分析:
两种方式下载,一种是流下载,一种是WriteFile下载。

本例代码使用WriteFile方式实现word文件的下载。

完整代码:
 

复制代码 代码示例:
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();
}