JS下载文件|无刷新下载文件示例代码


Posted in Javascript onApril 17, 2014

后台代码Handler.ashx

<%@ WebHandler Language="C#" Class="Handler" %> using System; 
using System.Web; 
public class Handler : IHttpHandler { 
public void ProcessRequest (HttpContext context) { 
string fileName = "web.config";//客户端保存的文件名 
string filePath = context.Server.MapPath("web.config");//路径 
//以字符流的形式下载文件 
System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open); 
byte[] bytes = new byte[(int)fs.Length]; 
fs.Read(bytes, 0, bytes.Length); 
fs.Close(); 
context.Response.ContentType = "application/octet-stream"; 
//通知浏览器下载文件而不是打开 
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); 
context.Response.BinaryWrite(bytes); 
context.Response.Flush(); 
context.Response.End(); 
} 
public bool IsReusable { 
get { 
return false; 
} 
} 
}

前端代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script src="jquery-1.7.2.min.js" type="text/javascript"></script> 
<title></title> 
<script> 
function download_file(url) 
{ 
if (typeof (download_file.iframe) == "undefined") 
{ 
var iframe = document.createElement("iframe"); 
download_file.iframe = iframe; 
document.body.appendChild(download_file.iframe); 
} 
// alert(download_file.iframe); 
download_file.iframe.src = url; 
download_file.iframe.style.display = "none"; 

} 
</script> 
</head> 
<body> 
<a href="javascript:void(0);" onclick="download_file('Handler.ashx')">aaaaa</a> 
<a href="javascript:void(0);" onclick="download_file('Handler.ashx')">bbbbb</a> 
<a href="javascript:void(0);" onclick="download_file('Handler.ashx')">ccccc</a> 
</body> 
</html>
Javascript 相关文章推荐
js 静态动态成员 and 信息的封装和隐藏
May 29 Javascript
详解AngularJS中的依赖注入机制
Jun 17 Javascript
jQuery插件实现多级联动菜单效果
Dec 01 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
Bootstrap Table列宽拖动的方法
Aug 15 Javascript
vue-cli3 配置开发与测试环境详解
May 17 Javascript
vue实现百度语音合成的实例讲解
Oct 14 Javascript
JS如何在不同平台实现多语言方式
Jul 16 Javascript
你可能不知道的JavaScript的new Function()方法
Apr 17 #Javascript
在JS中解析HTML字符串示例代码
Apr 16 #Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 #Javascript
javascript打开word文档的方法
Apr 16 #Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
Apr 16 #Javascript
JavaScript两种跨域技术全面介绍
Apr 16 #Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 #Javascript
You might like
PHP+ajax 无刷新删除数据
2010/02/20 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
Python Web程序搭建简单的Web服务器
2019/07/31 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
森林防火工作方案
2014/02/14 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
物流管理专业推荐信
2014/09/06 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
少年犯观后感
2015/06/11 职场文书
工商行政处罚决定书
2015/06/24 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
找规律教学反思
2016/02/23 职场文书
员工工作心得体会
2019/05/07 职场文书