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 相关文章推荐
Json序列化和反序列化方法解析
Dec 19 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
express的中间件bodyParser详解
Dec 04 Javascript
JavaScript实现简单图片翻转的方法
Apr 17 Javascript
js实现带圆角的两级导航菜单效果代码
Aug 24 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
AngularJS实现网站换肤实例
Feb 19 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
Sep 23 Javascript
layui table 表格上添加日期控件的两种方法
Sep 28 Javascript
微信小程序实现滑动操作代码
Apr 23 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上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php操作xml
2013/10/27 PHP
教你php如何实现验证码
2016/01/20 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
python网络编程学习笔记(一)
2014/06/09 Python
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
python列表操作实例
2015/01/14 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
python命令行工具Click快速掌握
2019/07/04 Python
Python如何访问字符串中的值
2020/02/09 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
应用电子技术专业个人求职信
2013/09/21 职场文书
医学生职业规划范文
2014/01/05 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
整脏治乱工作简报
2015/07/21 职场文书
详解Python描述符的工作原理
2021/06/11 Python
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
Python开发五子棋小游戏
2022/05/02 Python