没什么 说的  直接 上代码

  1. //选择图片并上传
  2. function selectImg(node){
  3. var f = node.value;
  4. var file = node.files[0];
  5. if(!/.(gif|jpg|jpeg|png|GIF|JPG|bmp)$/.test(f)){
  6.  
  7. alert("图片类型必须是.gif,jpeg,jpg,png,bmp中的一种");
  8. return false;
  9.  
  10. }else{
  11.  
  12. var reader = new FileReader();
  13. if (file) {
  14. reader.readAsDataURL(file);
  15. }
  16. reader.onloadend = function () {
  17.  
  18. $("#imgSelect").before(
  19. "<div class='col-md-1' id='tempImg'>"+
  20. "<span class='glyphicon glyphicon-remove pull-right bottom' style='display:none' " +
  21. "onclick=removeImg($(this).parent().attr('id'))></span>"+
  22.  
  23. "<a href='#' class='thumbnail'>"+
  24. "<img src='"+reader.result+"'>"+
  25. "</a>"+
  26. "</div>"
  27. );
  28. }
  29. uploadFile(file,"img");
  30. }
  31.  
  32. }
  33. //上传文件
  34. function uploadFile(file,type){
  35. var fd = new FormData();
  36. fd.append("tf", file);
  37.  
  38. $.ajax({
  39. url: "/a/upload",
  40. type: 'POST',
  41. data: fd,
  42. processData: false,//用来回避jquery对formdata的默认序列化,XMLHttpRequest会对其进行正确处理
  43. contentType: false,//设为false才会获得正确的conten-Type
  44. xhr: function() { //用以显示上传进度
  45. var xhr = $.ajaxSettings.xhr();
  46. if (xhr.upload) {
  47. xhr.upload.addEventListener('progress', function(e) {
  48. var appendStr =
  49. "<div class='progress' style='height:5px'>"+
  50. "<span class='progress-bar' role='progressbar' aria-valuenow='"+e.loaded+"'" +
  51. " aria-valuemin='0' aria-valuemax='100' style='width: "+e.loaded+"%;'>"+
  52. "<span class='sr-only'>60% 完成</span>"+
  53. "</span>"+
  54. "</div>"
  55. if(type=="img"){
  56.  
  57. $("#tempImg").append(
  58. appendStr
  59. );
  60. }else{
  61.  
  62. // $("#tempFile").append(appendStr);
  63. }
  64. // $('#loading').text(<span style="font-family: Arial, Helvetica, sans-serif;">e.loaded/e.total*100</span>);
  65. }, false);
  66. }
  67. return xhr;
  68. },
  69. async: true
  70. }).then(function(data) {
  71. $(".progress").remove();
  72. if(type=="img"){
  73.  
  74. saveImg(data.data);
  75. }else{
  76. saveFile(data.data);
  77. }
  78. })
  79. }
  80.  
  81. 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
    作者 QQ 2456314589
    喜欢 关注下吧!!!!

Jquer + Ajax 制作上传图片文件的更多相关文章

  1. [Ajax] 使用Ajax异步上传图片文件(非Form表单提交)

    通过表单Form提交来上传文件的方式这里就不说了: 下面介绍,通过js中使用ajax异步上传图片文件: 新建一个html页面和一个一般处理程序即可: 涉及思路: //发送2次Ajax请求完成js异步上 ...

  2. 用AJAX实现上传图片或者文件的方法

    大家好,我是小C,最近在项目中用到ajax上传图片文件,本篇我们就说说ajax上传文件. 我们平时用到的AJAX,大部分都是传几个参数就可以了.简单说就是传几个字符串. $.ajax({ url: u ...

  3. ajax上传图片文件

    这里用的是一个隐藏的iframe,这样可以让form表单提交到这个iframe里面,用户就看不到页面的刷新了 前段时间在解决ajax上传文件时折腾了好一阵.直接用$.post上传文本信息肯定是没有问题 ...

  4. 关于ajax上传文件的流程 和选择图片立即显示

    关键点: 1.制作一个表单..然后把上传字段附加到该表单中 2.制作一个框架..把表单的_target的属性指向该框架. 3.提交表单.. jQuery.extend({ createUploadIf ...

  5. 使用django的ImageField和from制作上传图片页面

    需求描述: 做一个简单的注册页面,使得用户在注册页上传头像. 解决办法: 以前用java写这个的时候,在action上面需要用IO接受文件,然后生成一个文件名,再将文件相对路径保存到user表的img ...

  6. javaWeb中使用ajax上传文件

    javaWeb上传图片 上传文件所必要的两个jar包:commons-fileupload.jar.commons-io.jar. jar包下载:github路径 核心代码: String withP ...

  7. atitit.ajax上传文件的实现原理 与设计

    atitit.ajax上传文件的实现原理 与设计 1. 上传文件的三大难题 1 1.1. 本地预览 1 1.2. 无刷新 1 1.3. 进度显示 1 2.  传统的html4  + ajax 是无法直 ...

  8. ajax异步上传图片三种方案

    转自:http://www.jb51.net/article/51180.htm 注:自己尝试了前两种,都可用: 目前常用的异步文件上传功能有几种,比较多见的如使用iframe框架形式,ajax功能效 ...

  9. Ajax上传文件/照片时报错TypeError :Illegal invocation

    问题 Ajax上传文件/照片时报错TypeError :Illegal invocation 解决 网上搜索问题,错误原因可能有以下几个,依次检查: 请求类型有误,如post请求,但在后台设置的是ge ...

随机推荐

  1. Java解析表达式

    需求 思路 总结 需求 指定一个String表达式,表达式符合给出的运算符规范,比如:2!=2 and 2>=3 or 4<=4,计算出表达式的结果(true or false). 支持的 ...

  2. Netty实现高性能IOT服务器(Groza)之手撕MQTT协议篇上

    前言 诞生及优势 MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,现为Cirrus Link)于1999年开发,用于监测穿越沙漠的石油管道.目标 ...

  3. JAVA线程及简单同步实现的原理解析

    线程 一.内容简介: 本文主要讲述计算机中有关线程的相关内容,以及JAVA中关于线程的基础知识点,为以后的深入学习做铺垫.如果你已经是高手了,那么这篇文章并不适合你. 二.随笔正文: 1.计算机系统组 ...

  4. 一个实时收集MySql变更记录的组件CanalSharp.AspNetCore

    一.关于CanalSharp CanalSharp 是阿里巴巴开源项目 Canal 的 .NET 客户端.为 .NET 开发者提供一个更友好的使用 Canal 的方式.Canal 是mysql数据库b ...

  5. 解决Configuration 'compile' is obsolete and has been replaced with implementation

    项目中Gradle版本升级到4.4后,项目构建时,每次出现红色的警告信息: WARNING: Configuration 'compile' is obsolete and has been repl ...

  6. .NET 平台上C#语言的基本技术点

    第一次用画图3D画的知识点,有点丑..........开始Csharp之路

  7. 【学习笔记Part 2● MySQL】

    数据库 为什么要用数据库 如何去存放数据?生活中有各种各样的数据.比如说人的姓名.年龄.成绩等.平时我们记录这些信息都是记在大脑中.人的记忆力有限,不可能什么都记住.所以后来人们把数据记录在石头上–& ...

  8. boostrap中模态框显示在阴影之下

    boostrap中模态框显示在阴影之下 出现这种情况的原因我开始也搞了很久,问题出现在哪里呢? 有事问百度,在百度上查了一下资料,他们主要的解决办法:是 修改标签的z-index属性的值, 我试着改了 ...

  9. iTop软件功能分析以及优缺点比较

    iTop软件功能分析以及优缺点比较 iTop对标文档 1. 概述 2. CMDB 3. 主要功能模块 3.1 配置管理(Configuration Managment) 3.2 用户请求管理(Help ...

  10. 团队DevOps实践之一

    团队DevOps实践之一 ------------------------------------------------------------------ 今天先到这儿,希望对您技术领导力, 企业 ...