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 相关文章推荐
url地址自动加#号问题说明
Aug 21 Javascript
JS分页效果示例
Oct 11 Javascript
js判断浏览器类型为ie6时不执行
Jun 15 Javascript
jQuery动态修改超链接地址的方法
Feb 13 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
js随机生成一个验证码
Jun 01 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
Jun 23 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 Javascript
Canvas跟随鼠标炫彩小球的实现
Apr 11 #Javascript
uniapp开发小程序的经验总结
JS新手入门数组处理的实用方法汇总
Apr 07 #Javascript
vue backtop组件的实现完整代码
一文帮你理解PReact10.5.13源码
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
给原生html中添加水印遮罩层的实现示例
You might like
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
python网络爬虫采集联想词示例
2014/02/11 Python
Python实现备份文件实例
2014/09/16 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Pytorch之finetune使用详解
2020/01/18 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
应届大学生自荐信格式
2013/09/21 职场文书
设计毕业生简历中的自我评价
2013/10/01 职场文书
大一期末自我鉴定
2013/12/13 职场文书
行政专员求职信范文
2014/05/03 职场文书
英语教育专业自荐信
2014/05/29 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python