//JS: //拼接字符串,通过点击 “下载” 调用JS函数,下载 .txt、.pdf、以及其他文件( .xls、.xlsx、.doc、.docx等) var value = rowData[0]; var name = rowData[2]; var ext = rowData[3]; if (ext == ".txt") { return "<a target=\"_blank\" title='点击下载文件' onclick=\"OnClickText('" + value + "','" + ext + "','"+name+"');\" style=\"cursor:pointer;\">" + " 下载" + "</a>"; } else if (ext == ".pdf") { return "<a target=\"_blank\" id=\"links\" title='点击下载文件' download onClick=\"OnClickPdf('" + value + "','" + ext + "');\" style=\"cursor:pointer;\">" + " 下载" + "</a>"; } else { return "<a target=\"_blank\" href=\"/Resource/UploadTrain/" + value + ext + "\" title='点击下载文件' style=\"cursor:pointer;\" >" + " 下载" + "</a>"; }
<script type="text/javascript"> //a链接 点击文本(.txt) 下载 调用的函数 function OnClickText(filename, text,name) { //获取文本(txt),内容: var _filename = filename + text; var _filename0 = name;//获取文本名称 //找一个标签放一个位置 getAjax("TrainAttment.aspx", "action=OnLoadFile&txtName=" + _filename, function (data) { $("#output").val(data); //获取文本内容 }); var _text = $("#output").val(); download(_filename, _text); //download("data.txt", "hello word!"); // 调用 } //a链接 点击下载(.pdf)文件 function OnClickPdf(filename, text) { var pdf = $("#downPDF").val(); document.getElementById('links').href = "../Resource/UploadTrain/" + filename + text; }; //a链接 获取文本【例如: 测试001.txt】下载 内容格式 function download(filename, text) { var pom = document.createElement("a"); pom.setAttribute( "href", "data:text/plain;charset=utf-8," + encodeURIComponent(text) ); pom.setAttribute("download", filename); if (document.createEvent) { var event = document.createEvent("MouseEvents"); event.initEvent("click", true, true); pom.dispatchEvent(event); } else { pom.click(); } }; </script>
//c# string active = HttpContext.Current.Request["action"]; switch (active) { case "OnLoadFile": string txtName = HttpContext.Current.Request["txtName"]; string Path = Server.MapPath("../Resource/UploadTrain/" + txtName); ReadTxtContent(Path); Response.End(); break; default: break; } #region 阅读文件文本内容 public void ReadTxtContent(string Path) { StreamReader sr = new StreamReader(Path, Encoding.Default); string content; while ((content = sr.ReadLine()) != null) { string _content = sr.ReadToEnd();//获取文本的全部内容 content += _content; Response.Write(content); } } #endregion
<tr> <td> <%--文本域:存放文本内容--%> <textarea id="output" style="width:800px;height:60px;display:none; "></textarea> <input id="downPDF" style="width:800px;height:60px;display:none;"/><!-- 隐藏域:存放处室名字,供下载PDF作判断 --> </td> </tr>