ajax 实现文件下载 【转】

前端之家收集整理的这篇文章主要介绍了ajax 实现文件下载 【转】前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<script type="text/javascript">
function DownLoad(strUrl) {
var form = $("<form>"); //定义一个form表单
form.attr('style','display:none'); //在form表单中添加查询参数
form.attr('target','');
form.attr('method','post');
form.attr('action',"/QuestionInfo/DowmLoad");

var input1 = $('<input>');
input1.attr('type','hidden');
input1.attr('name','strUrl');
input1.attr('value',strUrl);
$('body').append(form); //将表单放置在web中
form.append(input1); //将查询参数控件提交到表单上
form.submit();

}
</script>


后台代码

#region 文档下载
/// <summary>
/// 文件下载函数
/// </summary>
/// <param name="fileUrl"></param>
/// <returns></returns>
[HttpPost]
public void DowmLoad(string strUrl)
{
try
{
string fullPathUrl = Server.MapPath(strUrl);//获取下载文件的路劲
System.IO.FileInfo file = new System.IO.FileInfo(fullPathUrl);

if (file.Exists)//判断文件是否存在
{
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.AddHeader("content-disposition","attachment;filename=" + file.Name);
Response.AddHeader("cintent_length","attachment;filename=" + HttpUtility.UrlDecode(file.Name));
Response.AddHeader("cintent_length",file.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(file.FullName);//通过response对象,执行下载操作
Response.Flush();
Response.End();

}

}
catch(Exception e)
{
Console.Write(e.ToString());
}

}

原文链接:https://www.f2er.com/ajax/162849.html

猜你在找的Ajax相关文章