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 相关文章推荐
jquery如何把参数列严格转换成数组实现思路
Apr 01 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
js禁止页面刷新与后退的方法
Jun 08 Javascript
JS实现不规则TAB选项卡效果代码
Sep 16 Javascript
JS实现消息来时让网页标题闪动效果的方法
Apr 20 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
May 12 Javascript
js绘制购物车抛物线动画
Nov 18 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
JavaScript复制内容到剪贴板的两种常用方法
Feb 27 Javascript
js实现div色块碰撞
Jan 16 Javascript
浅谈Vue 自动化部署打包上线
Jun 14 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中常用字符串处理代码片段整理
2011/11/07 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
PHP实现懒加载的方法
2015/03/07 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
PHP7 新增常量
2021/03/09 PHP
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
python将文本转换成图片输出的方法
2015/04/28 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
生产车间主管岗位职责
2013/12/28 职场文书
老师给学生的表扬信
2014/01/17 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
安全承诺书范文
2014/03/26 职场文书
建设工程授权委托书
2014/09/22 职场文书
实施意见格式范本
2015/06/05 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers