ajaxfileupload异步上传文件

ajaxfileupload插件可以以异步方式上传文件(其实现:iframe),不像传统那样需要刷新,下面就介绍下其使用

1、HTML部分(先引入jquery):

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>无刷新单文件上传</title>
 6     <script src="jquery-2.2.4.min.js"></script>
 7     <script src="ajaxfileupload.js"></script>
 8 </head>
 9 <body>
10     <p style="display:none"><input type="file" id="file1" name="file" /></p>
11     <input type="button" value="上传" />
12
13     <script type="text/javascript">
14         $(function () {
15             $(":button").click(function () {
16                 $("#file1").click();
17             })
18         })
19         $(document).on("change", "#file1", function () {
20             $.ajaxFileUpload({
21                 url: ‘/upload.ashx‘, //用于文件上传的服务器端请求地址
22                 secureuri: false, //一般设置为false
23                 fileElementId: ‘file1‘, //文件上传空间的id属性  <input type="file" id="file" name="file" />
24                 dataType: ‘json‘, //返回值类型 一般设置为json
25                 success: function (data, status)  //服务器成功响应处理函数
26                 {
27                     if (typeof (data.error) != ‘undefined‘) {
28                         if (data.error != ‘‘) {
29                             alert(data.error);
30                         } else {
31                             alert(data.msg);
32                         }
33                     }
34                 },
35                 error: function (data, status, e)//服务器响应失败处理函数
36                 {
37                     alert(e);
38                 }
39             })
40         });
41     </script>
42 </body>
43 </html>

2、后台代码(使用的一般处理程序[ashx]):

 1     public class upload : IHttpHandler
 2     {
 3         public void ProcessRequest(HttpContext context)
 4         {
 5             HttpFileCollection files = context.Request.Files;
 6             string msg = string.Empty;
 7             string error = string.Empty;
 8             string imgurl;
 9             if (files.Count > 0)
10             {
11                 files[0].SaveAs(context.Server.MapPath("/") + System.IO.Path.GetFileName(files[0].FileName));
12                 msg = " 成功! 文件大小为:" + files[0].ContentLength;
13                 imgurl = "/" + files[0].FileName;
14                 string res = "{ error:‘" + error + "‘, msg:‘" + msg + "‘,imgurl:‘" + imgurl + "‘}";
15                 context.Response.Write(res);
16                 context.Response.End();
17             }
18         }
19
20         public bool IsReusable
21         {
22             get
23             {
24                 return false;
25             }
26         }
27     }

注意:IE低版本可能会不兼容(上传文件框被隐藏,而是通过点击按钮去模拟触发文件框点击事件)

参考:http://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html

时间: 2024-08-26 00:58:27

ajaxfileupload异步上传文件的相关文章

【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)

前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现ajaxFileUpload这个插件挺不错,所以就用这个插件来做异步上传文件的效果.网上也有很多对ajaxFileUpload插件的使用的文章,不过我发现没有PHP版,所以这次服务器那边的处理就使用PHP语言来处理. 一.先对ajaxFileUpload插件的语法参数进行讲解 原理:ajaxfileu

JQuery插件ajaxFileUpload 异步上传文件(PHP版)

太久没写博客了,真的是太忙了.善于总结,进步才会更快啊.不多说,直接进入主题. 前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现ajaxFileUpload这个插件挺不错,所以就用这个插件来做异步上传文件的效果.网上也有很多对ajaxFileUpload插件的使用的文章,不过我发现没有PHP版,所以这次服务器那边的处理就使用PHP语言来处理. 一.

jQuery插件-ajaxFileUpload异步上传文件

ajaxFileUpload是前两天学习过程中接触到的一个JQ插件,功能很简单,就是实现异步上传文件的功能. 1.语法介绍 $.ajaxFileUpload([setting]); 参数说明: (1)url——执行上传处理的地址: (2)secureuri——是否启用安全提交,默认为false: (3)fileElementId——需要上传<input type=”file”>控件id属性值: (4)data——自定义参数,即需要额外传递的JSON格式数据: (5)type——请求方式,提交自

struts2 jquery ajaxFileUpload 异步上传文件

一.ajaxFileUpload 实现异步上传文件利用到了ajaxFileUpload.js这个文件,这是别人开发的一个jquery的插件,可以实现文件的上传并能够和struts2框架和好的融合在一起.但是网上的提供的一些ajaxFileUpload.js插件存在一些问题,不能够实现多次点击上传文件,要想再次上传必须重新刷新页面.在网上找了好久才找到真正的解决方案,有些网友给出的解决方案并没有真正的解决问题,不知到什么原因.我的修改: 原文件: var oldElement = $('#' +

JQuery插件ajaxFileUpload 异步上传文件

一.先对ajaxFileUpload插件的语法参数进行讲解 原理:ajaxfileupload是通过监听iframe的onload方法来实现, 当从服务端处理完成后,就触发iframe的onload事件调用其绑定的方法,在绑定的方法中获取iframe中服务器返回的数据体(支持的普通文本,json,xml,script, html) 语法:$.ajaxFileUpload([options]) 参数说明: 1,url  上传处理程序地址,也就是我发送给服务器端所要处理上传的地址. 2,fileEl

ajaxFileUpload 异步上传文件简单使用

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <

调用jquery的ajaxFileUpload异步上传文件,IE浏览器不进入success问题

找到ajaxFileUpload文件 IE在执行这段正则后,date数据匹配异常,直接改成JSON.parse(data)

利用ajaxfileupload.js异步上传文件

1.引入ajaxfileupload.js 2.html代码 <input type="file" id="enclosure" name="enclosure"> <button id="upClick" >上传</button> 注意这里的input控件的id和name必须一致:这样在后台利用springMVC接受文件的时候能对应起来: 3.JS代码 <script type=&q

使用ajaxfileupload.js文件异步上传文件

在服务器端做文件上传的过程中,如果使用web服务器短端的上传控件去上传文件的话,会导致页面刷新一次,这样对用户的体验就不是很友好了.ajaxfileupload.js是一款jQuery的异步上传文件插件,使用简单且容易上手. 前置条件:ajaxfileupload.js文件,百度下载一个就行. JS引用: <script src="/Content/JQueryJS/jquery-2.1.1.js"></script> <script src="