js实现上传图片到服务器


Posted in Javascript onApril 11, 2021

本文实例为大家分享了js实现上传图片到服务器的具体代码,供大家参考,具体内容如下

HTML

//多张图片上传multiple
<input type="file" id="file" multiple>
//原生提交按钮
<input type="submit">

javascript

<script>
    // 定义一个接收转为base64图片的数组
    let ArrayImg=[]
    var index = 0;  //给图片加唯一标识 好删除
    // 获取页面上的元素
    let input=document.getElementById('file')
    console.log(input);
    // 绑定oncheange事件
    input.onchange=function(){
      var file=this.files[0]  //获取页面上选择的文件[N]指的是获取第几个
      // console.log(file);
      var iLen = this.files.length;  //获取图片长度
      // console.log(iLen);
      for(var i=0;i<iLen;i++){  //通过循环把多张图片显示到页面上或者上传
      // 本地缓存 预览
      var filereader = new FileReader()  //创建一个本地缓存的对象
      // 把获取到的文件本地缓存转为bese64
      filereader.readAsDataURL(this.files[i])  //转成base64,并存在了自由属性reader.result里  
        console.log([i]);
        filereader.onload = function () { //通过onload 事件把this.result 取出来
        // console.log(this.result,333);
        ArrayImg.push(this.result)
        // 通过html标签包括到img显示图片 放到一个变量中储存
        let img1=`<div id="divimg"><img src="${this.result}" alt="" id="id_img"></div>`  
        // 创建一个新的div
        let div = document.createElement('div')
        div['index'] = index; // 给div加唯一标识好移除
        // 把上传存好的img1放到新建的div里面
        div.innerHTML=img1
        console.log(ArrayImg,'图片数组');
        //然后通过dom操作插入到dom树中 显示图片
        document.getElementsByTagName('body')[0].appendChild(div)   //插入dom树
        // console.log(img);
        // 通过给div绑定单击事件 删除当前点击的div跟当前点击的图片数组中的base64地址
        div.onclick = function(){  
                    this.remove();                  // 在页面中删除该图片元素  
                    delete ArrayImg[this.index];  // 删除ArrayImg数组对应的数据
                    console.log(ArrayImg,'图片数组');
                }
                //inddex记录当前循环了多少次好移除ArrayImg数组中的链接地址
        index++
      }
      }
    }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS getMonth()日期函数的值域是0-11
Feb 15 Javascript
jquery对dom的操作常用方法整理
Jun 25 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
Mar 05 Javascript
JavaScript提高网站性能优化的建议(二)
Jul 24 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
微信小程序 利用css实现遮罩效果实例详解
Jan 21 Javascript
axios发送post请求,提交图片类型表单数据方法
Mar 16 Javascript
WebSocket的通信过程与实现方法详解
Apr 29 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
Mar 13 Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 Javascript
Canvas跟随鼠标炫彩小球的实现
Apr 11 #Javascript
uniapp开发小程序的经验总结
JS新手入门数组处理的实用方法汇总
Apr 07 #Javascript
vue backtop组件的实现完整代码
一文帮你理解PReact10.5.13源码
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
给原生html中添加水印遮罩层的实现示例
You might like
77A一级收信机修理记
2021/03/02 无线电
php array的学习笔记
2012/05/16 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
js自定义回调函数
2015/12/13 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
js实现车辆管理系统
2020/08/26 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
python下载微信公众号相关文章
2019/02/26 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
超市开业庆典活动策划方案
2014/09/15 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
学生会个人总结范文
2015/02/15 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis