Word文档下载 流

Posted julyra

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Word文档下载 流相关的知识,希望对你有一定的参考价值。

后台

 1 public void DownFiletemple(string filepath)
 2         {
 3             FileInfo fileInfo = new FileInfo(filepath);
 4             Response.Clear();
 5             Response.ClearContent();
 6             Response.ClearHeaders();
 7             logger.Trace("测试1:···" + fileInfo.FullName);
 8             Response.AddHeader("Content-Disposition", "attachment;filename=" + fileInfo.FullName);
 9             Response.AddHeader("Content-Length", fileInfo.Length.ToString());
10             logger.Trace("测试2:··Content-Length/·" + fileInfo.Length.ToString());
11             Response.AddHeader("Content-Transfer-Encoding", "binary");
12             Response.AddHeader("Connection", "Keep-Alive");
13 
14             Response.ContentType = "application/octet-stream";
15             Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
16             logger.Trace("测试3");
17             Response.WriteFile(fileInfo.FullName);
18             logger.Trace("成功");
19             Response.Flush();
20             Response.End();
21 
22            
23         }

异步请求

 1 function btnfiledwon(){
 2     
 3         
 4     var url = vshop_CheckOut.aspx?type=ajax&action=FileDown;
 5  
 6    var xhr = new XMLHttpRequest();
 7 
 8    xhr.open(POST, url, true);        // 也可以使用POST方式,根据接口
 9 
10    xhr.responseType = "blob";    // 返回类型blob
11 
12    // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
13 
14    xhr.onload = function () {
15        // 请求完成
16 
17        if (this.status === 200) {
18            // 返回200
19 
20            var blob = this.response;
21 
22            var reader = new FileReader();
23 
24            reader.readAsDataURL(blob);    // 转换为base64,可以直接放入a表情href
25 
26            reader.onload = function (e) {
27 
28                // 转换完成,创建一个a标签用于下载
29 
30                var a = document.createElement(a);
31 
32                a.download = 订单合同.docx;
33 
34                a.href = e.target.result;
35 
36                $("body").append(a);    // 修复firefox中无法触发click
37 
38                a.click();
39 
40                $(a).remove();
41 
42            }
43 
44        }
45 
46    };
47 
48    // 发送ajax请求
49 
50    xhr.send()
51     }

 

以上是关于Word文档下载 流的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Word 文档中显示代码片段,因为它在 *** 中显示(滚动条和灰色背景)

从搜索文档中查找最小片段的算法?

Word文档下载 流

WPF流文档超链接

如何从word文档复制公式到web编辑器

以编程方式在Word文档中布局图像