2019独角兽企业重金招聘Python工程师标准>>>

参考学习:

第一篇:http://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html

第二篇:http://www.jb51.net/article/50518.htm

第三篇:http://zhangzhaoaaa.iteye.com/blog/2200065

第四篇:http://blog.sina.com.cn/s/blog_6d3f840a0102vkpq.html   (jQuery的ajaxFileUpload上传文件插件刷新一次才能再次调用触发change)

使用方法:

  第一步:先引入jQuery与ajaxFileUpload插件。注意先后顺序,这个不用说了,所有的插件都是这样。

<script src="jquery-1.7.1.js" type="text/javascript"></script><script src="ajaxfileupload.js" type="text/javascript"></script>

我的control代码如下:

 1         [HttpPost]
 2         [ValidateInput(false)]
 3         public ActionResult EditPhoto(EmployeeModelUser u)//上传用户头像照片
 4         {
 5             string realpath = "";
 6             string returnpath = "";
 7             string ID = "";
 8             string path = "";
 9             if (Session["ID"] != null)
10             {
11
12                 ID = this.HttpContext.Session["ID"].ToString();
13             }
14             u.ID = Convert.ToInt32(ID);
15
16             if (u.Image != null && u.Image.ContentLength > 0)
17             {
18                 string ext = u.Image.FileName;
19                 u.PHOTONUMBER = ext;
20                 path = "~/style/UserImages/User/" + ext;
21                 realpath = Server.MapPath(path);//完整路径
22
23                 u.Image.SaveAs(realpath);
24                 returnpath = "/style/UserImages/User/" + ext;//返回view中img显示图片的路径
25             }
26             User user = new User();
27             user.ID = u.ID;
28             user.PHOTONUMBER = u.PHOTONUMBER;
29             employeemanage.SaveImage(user);
30             //return Json(new { err = "", msg = ext },"text/x-json");
31             return Content(returnpath);//文件存储路径
32         }

view代码如下:

<div class="new_portrait" id="Photo"><div class="portrait_upload" id="portraitNo"><span>上传自己的头像</span></div><div class="portraitShow dn" id="portraitShow"><img width="120" height="120" id="PhotoNumber" src=""><span>更换头像</span></div><input type="file" value="" title="支持jpg、jpeg、gif、png格式,文件小于5M" name="Image" accept="image/gif,image/jpeg,image/jpg,image/png" onchange="ajaxFileUpload()" id="Image" class="myfiles"><!-- <input type="hidden" id="headPicHidden" /> --><span style="display: none;" id="headPic_error" class="error"></span></div><!--end .new_portrait-->

js代码第1种

 1 $("#Image").live("ajaxFileUpload", function () {  //<input type="file" id="Image" name="Image" onchange="ajaxFileUpload()" />
 2                 ajaxFileUpload();
 3                 $("#Image").replaceWith($("#Image").clone(true));
 4             //$("#PhotoNumber").replaceWith('<img width="120" height="120" id="PhotoNumber" src="">');
 5         });
 6
 7         function ajaxFileUpload() {  //ajaxFileUpload上传用户头像(我的简历中的基本信息模块), <input type="file" id="Image" name="Image" onchange="ajaxFileUpload()" />成功
 8             $.ajaxFileUpload
 9             (
10                 {
11                     url: '/Employee/EditPhoto', //用于文件上传的服务器端请求地址
12                     type:'post',
13                     secureuri: false, //一般设置为false
14                     fileElementId: 'Image', //文件上传控间的id属性  <input type="file" id="Image" name="Image" />
15                     dataType: 'JSON', //返回值类型 一般设置为json
16                     success: function (data, status)  //服务器成功响应处理函数
17                     {
18                         //alert(data);//成功
19
20                         $("#PhotoNumber").attr("src",data);
21                         //$("#PhotoNumber").attr(src,data);
22                     },
23                     error: function (data, status, e)//服务器响应失败处理函数
24                     {
25                         alert('上传图片失败');
26                     }
27                 }
28             )
29
31         }

js代码第2种

 1 function uploadImageFunc() {
 2
 3             $("#Photo").change(
 4                 function(){
 5                     // 获取文件路径
 6                     var filePath = $("input[name='Image']").val();
 7                     // 获取“.”位置
 8                     var extStart = filePath.lastIndexOf(".");
 9                     // 获取文件格式后缀,并全部大写
10                     var ext = filePath.substring(extStart, filePath.length).toUpperCase();
11
12                     // 判断文件格式
13                     if (ext != ".BMP" && ext != ".PNG" && ext != ".JPG" && ext != ".JPEG") {
14                         alert("图片仅限于.gif .png .jpg .jpeg文件。");
15                         return false;
16                     }
17                     else {
18                         // 使用ajaxfileupload上传文件
19                         $.ajaxFileUpload
20             (
21                 {
22                     url: '/Employee/EditPhoto', //用于文件上传的服务器端请求地址
23                     type:'post',
24                     secureuri: false, //一般设置为false
25                     fileElementId: 'Image', //文件上传控间的id属性  <input type="file" id="Image" name="Image" />
26                     dataType: 'JSON', //返回值类型 一般设置为json
27                     success: function (data, status)  //服务器成功响应处理函数
28                     {
29                         alert(data);//成功
30
31                         $("#PhotoNumber").attr("src",data);
32                         //$("#PhotoNumber").attr(src,data);
33                     },
34                     error: function (data, status, e)//服务器响应失败处理函数
35                     {
36                         alert('上传图片失败');
37                     }
38                 }
39             )
40                     }
41                 });
42         }

实现效果:

不足:第二遍ajaxFileUpload开始,能够上传(更新)图片,不过view中的<img/>图片显示不出来(就是view的<img>的src获取不到),待解决求指点

转载于:https://my.oschina.net/landiljy/blog/630991

jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)...相关推荐

  1. ajax上传图片成功但不显示,jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)...

    参考学习: 第一篇:http://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html 第二篇:http://www.jb51.net/a ...

  2. php ajaxfileupload,ajaxfileupload异步上传图片

    使用的时候记得引用ajaxfileupload.js和 jquery-3.0.0.min.j两个js文件,ajaxfileupload.js请使用我下面附上的代码,其中它加了个扩展,可传递额外参数 u ...

  3. Ajax(使用 jQuery,php)异步上传图片(二进制流)存储到新浪云平台storage

    这两天实现了一个发布图片的功能,可谓是一波三折,bug不断啊,趁刚搞定,赶紧把过程写下来,顺便把代码传过来.记录了图片在本地的存储和 将本地的图片以二进制流提交到后台php文件 在html文件中的操作 ...

  4. 【UE4】使用Composure插件在场景或UI中实时显示CineCamera画面

    RenderTarget(渲染目标)默认只能使用SceneCapture2d(场景捕获2d)相机传输画面,查过资料以后发现可以使用官方的Composure插件来实现把CineCamera(电影相机)的 ...

  5. 使用jquery插件报错:TypeError:$.browser is undefined的解决方法

    关于$.browser browser就是用来获取浏览器基本信息的. jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.sup ...

  6. 在使用JQuery插件时报错:TypeError:$.browser is undefined的解决方法

    首先出现这个问题的原因是因为相关js在获取浏览器相关信息的时候获取不到导致的,根本上的原因是jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取 ...

  7. jquery 关于checked属性的添加与移除(解决.attr('checked',true)失效问题)

    一.遇到问题: $(":radio").removeAttr('checked');$(":radio").attr('checked','true'); 实际 ...

  8. 40 个让你的网站更加友好的 jQuery 插件

    一个插件的基本功能是执行一个含有元素集合的函数数组.每个方法和jQuery核心组成一个插件,如.fadeOut()或.addClass().一个jQuery插件是一个基本的可以扩充jQuery 原型对 ...

  9. jquery插件制作

    jquery插件丰富,很多都是很好用的,最近学习了一下如何制作jquery插件,发现jquery插件制作其实很简单,这里介绍一下. jquery插件的基本格式: (function($){$.fn.t ...

最新文章

  1. java jdbc工具类抽取_JavaWeb入门(三):JDBC工具类的抽取
  2. Java案例-用户注册邮箱绑定激活功能实现
  3. python爬取新闻网站标题_python如何正确抓取网页标题
  4. teamcity和jmeter结合进行接口自动化测试
  5. 关于批量导入数据以及调优的一些总结
  6. 新时代、新挑战、新机遇
  7. 【2019/3/23】周进度报告
  8. static import java_Java 静态导入Static import
  9. 十一、垃圾回收策略配置
  10. 网卡82546驱动linux,Dell服务器常见Linux驱动选择
  11. Loongson2f_龙芯逸珑8089A_扩容硬盘安装debian8(sd卡扩容)
  12. .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
  13. Delphi的日期时间格式
  14. 使用udp 发送一张jpeg图片,upd接收后转成opencv的Mat格式
  15. 【细小碎的oi小知识点总结贴】不定时更新(显然也没人看qwq)
  16. python 回溯法 01背包问题_Python基于回溯法解决01背包问题实例
  17. html怎么设置毛笔字体,原来毛笔字体是这么设计的!
  18. P1472 奶牛家谱 Cow Pedigrees
  19. 基于STM32的智慧矿山之矿井安全监控终端的设计与实现
  20. Dell_Inspiron_15-3567, 加装内存条, 更换固态硬盘

热门文章

  1. 微信公众平台开发(103) 四六级成绩查询
  2. php写简单的随机验证码
  3. PHP程序员如何突破技术瓶颈
  4. Android permission 访问权限一览
  5. 小程序外接web-view坑------alert显示域名
  6. 谜题 (Puzzle,ACM/ICPC World Finals 1993,UVa227)
  7. 1.3 安装Oracle遇到的问题-yum更新配置
  8. Android中BindService方式使用的理解
  9. 返回值与返回引用的问题
  10. 使用ASP.NET上传图片汇总