//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>