单图上传

<div class="imgUp">
     <label>头像单图</label>
     <input type="file" name='photo' class="mui-input-clear" id='upimg' style="opacity: 0;" >
      <img src="data:images/up.png" alt="" id='imgContent'>
</div>

js

$('#upimg').on('change',function(){                                                 //选中图片后展示在页面
    var filePath = $(this)[0].files[0].name //获取到input的value,里面是文件的路径
   //console.log(filePath) //1.png
   fileFormat = filePath.split('.')[1].toLowerCase()
   //console.log(fileFormat) //png
   src = window.URL.createObjectURL(this.files[0]) //转成可以在本地预览的格式
   //console.log(src) //blob:null/11ea5a2d-7270-4035-b5c4-4e50c5c061e7

// 检查是否是图片
  if( !fileFormat.match(/png|jpg|jpeg/) ) {
      alert('上传错误,文件格式必须为:png/jpg/jpeg')
     return
  }

$('#imgContent').attr('src',src)

})

多图上传

<div class="imgUp1">
    <label>详情页多图</label>
    <input type="file" class="mui-input-clear" id="upimg1" multiple style="opacity: 0;">
    <img src="data:images/up.png" alt="" id='imgContent1'><br>
    <div id="previewImg">
           
    </div>
</div>

js

var fileall = []  //存放图片的容器

$('#upimg1').on('change', function(){
     var imgFiles = $(this)[0].files
     for (i=0;i<imgFiles.length;i++){
              filePath = imgFiles[i].name
              fileFormat = filePath.split('.')[1].toLowerCase()
              src = window.URL.createObjectURL(imgFiles[i])
              if( !fileFormat.match(/png|jpg|jpeg/) ) {
                    alert('上传错误,文件格式必须为:png/jpg/jpeg')
                    return
              }
             var preview = document.getElementById("previewImg")
             var img = document.createElement('img')
             img.width = 120
             img.src = src
             preview.prepend(img)

fileall.push($("#upimg1")[0].files[0])
            console.log(fileall)

})

点击提交或者上传时

var formData1 = new FormData();

$("#submit").click(function(){

for(var i = 0;i<fileall.length;i++){
         formData1.append("img",fileall[i]);
    }

formData1.append("photo", $("#upimg")[0].files[0]);

$.ajax({
        url: comPageUrl+'/applyVote',
        type: 'POST',
        async:true,
        xhrFields:{
            withCredentials:true
         },
        contentType:false,
        processData:false,     //这个很有必要,不然不行
        dataType:"json",
        mimeType:"multipart/form-data",
        data: formData1,
        success: function(res){
                  console.log(res)
                 if(res.status==200){
                     alert("上传成功")
                 }

},
        error: function(){
               alert('服务器发生错误!');
        }
    })

})

js formData图片上传(单图上传、多图上传)后台java的更多相关文章

  1. 怎么样通过php使用html5实现多文件上传?(php多图上传)

    <!DOCTYPE html><html lang="zh-cn"> <head> <meta charset="utf-8&q ...

  2. js文件/图片从电脑里面拖拽到浏览器上传文件/图片

    1.效果展示 2.html 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html> <html lang=& ...

  3. CAD控件:梦想CAD控件功能更新 清除图上的所有高亮实体

    1,修正得组里面的实体,把删除实体也返回的错误   2,修正代理实体改不了颜色问题.   3,修正捕捉块插入点,有时会跑到很远的位置问题.   4.MxDrawChange类增加ToBlockRefe ...

  4. ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传

    说在前面 最近在做一个MVC相册的网站(这里),需要批量上传照片功能,所以就在网上搜相关的插件,偶然机会发现Dropzone.js,试用了一下完全符合我的要求,而且样式挺满意的,于是就在我的项目中使用 ...

  5. js实现图片上传预览及进度条

    原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...

  6. html + js 实现图片上传,压缩,预览及图片压缩后得到Blob对象继续上传问题

    先上效果 上传图片后(设置了最多上传3张图片,三张后上传按钮消失) 点击图片放大,可以使用删除和旋转按钮 (旋转功能主要是因为ios手机拍照后上传会有写图片被自动旋转,通过旋转功能可以调正) html ...

  7. thinkphp 多图片上传 单图片上传

    不管是单图片上传还是多图片上传都必须要引用这两个js 下载地址 链接:http://pan.baidu.com/s/1eStkUt0 密码:asvo <script src="Publ ...

  8. js实现图片粘贴上传到服务器并展示

    最近看了一些有关于js实现图片粘贴上传的demo,实现如下: (这里只能检测到截图粘贴和图片右键复制之后粘贴) demo1: document.addEventListener('paste', fu ...

  9. 原生js实现图片预览并上传

    最近主导的PC客户端网站重构工程告一段落,下一阶段开始给公司APP开发H5页面,技术栈是react.最近碰到一个需求:需要在H5页面上添加身份证照片,预览并上传.因为要兼容安卓4.4以下版本的手机,所 ...

随机推荐

  1. 脱壳系列—— 揭开so section加密的美丽外衣

    i春秋作家:HAI_ 0×00 前言 对so的加密,https://bbs.pediy.com/thread-191649.htm大神的帖子里已经很详细的说明了.当然加密不是我们研究的重点,如何搞掉这 ...

  2. 转载:TCP/IP四层模型

    转载:TCP/IP四层模型 一. TCP/IP参考模型示意图 ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用. 如图所示 ...

  3. isBalanced函数实现

    原文:从一道面试题谈起,作者:360奇舞团 刘观宇 题目: 创建一个函数来判断给定的表达式中的大括号是否闭合,返回 true/false,对于空字符串,返回 true var expression = ...

  4. sublime text3:提示 There are no packages available installation 解决方案

    纯属记录,下次能找到解决. 第一步: 在sublime Text3界面按 ctrl+` 出现一个输入框界面 第二步:在输入框输入: import urllib.request,os,hashlib; ...

  5. DevOps - CI - Jenkins

    Jenkins 开源软件项目,其前身为Hudson,旨在提供一个基于Java开发的开放易用的持续集成工具,用于监控持续重复的工作. 主要用于自动而持续地构建/测试软件项目:监控外部调用执行的工作. 官 ...

  6. odoo第三方市场 -- 模块推荐

    odoo 除了开源,另一个非常给力的地方就是,强大的第三方应用市场: 你入坑后,会发现非常的好玩,全球还有这么多小伙伴并肩前行,共同成长. 第三方市场有很多不错的模块,当然,好东西,不是完全免费的! ...

  7. TCP 流量控制、拥塞控制

    流量控制: 流量控制是为了控制发送方发送速率,保证接收方来得接收. 接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率.将窗口字段设置为 0,则发送方不能发送数据. ...

  8. CentOS安装Nginx 以及日志管理

    环境:CentOS-6.4 Nginx版本:nginx-1.6.2.tar Linux连接工具:XShell VMWare虚拟机上准备两台CentOS: 两台机器做同样操作(后边做负载均衡.高可用的时 ...

  9. Javac中对import关键字进行的处理

    参考文章: (1)关于类的符号输入过程第二篇 ImportScope中存储的为ImportEntry,继承了Scope.Entry类并且多定义了个origin属性,也就是符号的最终来源.除此之外还对g ...

  10. postgresql 常用命令

    普通用法: sudo su - postgres 切换到postgres用户下: psql -U user -d dbname 连接数据库, 默认的用户和数据库是postgres \c dbname ...