利用ajaxfileupload插件实现文件上传无刷新的具体方法


Posted in Javascript onJune 08, 2013

 做项目的时候遇到了这样一个问题,如果用普通的ASP.NET FileUpload控件实现文件上传,那么页面会刷新,那么页面上用JS拼出的元素就会消失,为了上传文件,又不能刷新页面,ajaxfileupload插件是一个很好的选择(插件下载地址://img.jbzj.com/file_images/article/201306/js/ajaxfileupload.js)

ajaxfileupload是jQuery的一个插件,使用这个插件同时要引用jQuery.js文件

直接上代码吧

JS代码

[javascript]

//执行AJAX上传文件  
$.ajaxFileUpload({ 
url: '/Web/Teacher/ImportAchievements.ashx', 
secureuri: false, 
fileElementId: 'fulAchievements', 
dataType: 'json', 
success: function (data, status) { 
    alert(data[0]); 
} 
}); 
 //执行AJAX上传文件
 $.ajaxFileUpload({
 url: '/Web/Teacher/ImportAchievements.ashx',
 secureuri: false,
 fileElementId: 'fulAchievements',
 dataType: 'json',
 success: function (data, status) {
  alert(data[0]);
 }
 });

说明:

1.这个方法很像大家熟知的$.ajax方法

2.参数说明

url:AJAX的后台代码文件,要接收前台传来的文件数据

secureuri:是否对上传的文件加密

fileElementId:HTML中<input type="file"/>上传控件的Id值,这里需要注意的是,后台代码是通过name-value的形式接收数据的,所以后台代码是通过name来接收数据的,而不是Id(根本原因是,这个方法会自动生成一个表单,将表单提交给后台代码处理)。

dataType:数据类型,一般是‘json'

success:上传成功后执行的回调函数

ASP.NET一般处理程序中的代码

[csharp]

public void ProcessRequest (HttpContext context) { 
    context.Response.ContentType = "text/html";//这里很关键,虽然前台数据类型是json,但这里一定要写html  
    //获取前台传来的文件  
    HttpFileCollection files = HttpContext.Current.Request.Files; 
    //将文件保存在网站目录中  
    files[0].SaveAs(context.Server.MapPath("/Web/uploadFiles/Achievements.xls")); 
    //返回用json数据格式表示的提示  
    string result = "[" + "\"" + "成绩导入成功" + "\"" + "]"; 
    context.Response.Write(result); } 

public void ProcessRequest (HttpContext context) {
 context.Response.ContentType = "text/html";//这里很关键,虽然前台数据类型是json,但这里一定要写html
 //获取前台传来的文件
 HttpFileCollection files = HttpContext.Current.Request.Files;
 //将文件保存在网站目录中
 files[0].SaveAs(context.Server.MapPath("/Web/uploadFiles/Achievements.xls"));
 //返回用json数据格式表示的提示
 string result = "[" + "\"" + "成绩导入成功" + "\"" + "]";
 context.Response.Write(result);
}

这样就实现了AJAX上传文件,页面不会刷新,有需要的试试吧。
Javascript 相关文章推荐
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
js自动下载文件到本地的实现代码
Apr 28 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
jQuery点击弹出下拉菜单的小例子
Aug 01 Javascript
javascript与cookie 的问题详解
Nov 11 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
js从Cookies里面取值的简单实现
Jun 30 Javascript
js事件监听器用法实例详解
Jun 01 Javascript
jQuery.Callbacks()回调函数队列用法详解
Jun 14 Javascript
jquery html5 视频播放控制代码
Nov 06 Javascript
Bootstrap CSS布局之按钮
Dec 17 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
Feb 27 Javascript
JavaScript自动设置IFrame高度的小例子
Jun 08 #Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 #Javascript
JavaScript String.replace函数参数实例说明
Jun 06 #Javascript
jquery DIV撑大让滚动条滚到最底部代码
Jun 06 #Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 #Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 #Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 #Javascript
You might like
PHP文件上传实例详解!!!
2007/01/02 PHP
PHP 单引号与双引号的区别
2009/11/24 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
python自动翻译实现方法
2016/05/28 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
用Python制作音乐海报
2021/01/26 Python
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
化学专业自荐信
2014/05/28 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
电影复兴之路观后感
2015/06/02 职场文书
Vue全局事件总线你了解吗
2022/02/24 Vue.js