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 相关文章推荐
Prototype 工具函数 学习
Jul 23 Javascript
jQuery 关于伪类选择符的使用说明
Apr 24 Javascript
js判断浏览器是否支持html5
Aug 17 Javascript
DOM基础教程之使用DOM控制表单
Jan 20 Javascript
js实现页面刷新滚动条位置不变
Nov 27 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
深入浅析javascript继承体系
Oct 23 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 Javascript
Vue+Openlayers自定义轨迹动画
Sep 24 Javascript
Canvas跟随鼠标炫彩小球的实现
Apr 11 #Javascript
uniapp开发小程序的经验总结
JS新手入门数组处理的实用方法汇总
Apr 07 #Javascript
vue backtop组件的实现完整代码
一文帮你理解PReact10.5.13源码
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
给原生html中添加水印遮罩层的实现示例
You might like
ftp类(myftp.php)
2006/10/09 PHP
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
php 图片上添加透明度渐变的效果
2009/06/29 PHP
php session和cookie使用说明
2010/04/07 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
菊花转动的jquery加载动画效果
2018/08/19 jQuery
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
极简的Python入门指引
2015/04/01 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
什么是makefile? 如何编写makefile?
2013/01/02 面试题
数控专业毕业生求职信范文
2013/09/21 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
优秀党员主要事迹
2014/01/19 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
给领导的检讨书
2014/02/16 职场文书
境外导游求职信
2014/02/27 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
2014年除四害工作总结
2014/12/06 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
vue项目支付功能代码详解
2022/02/18 Vue.js