详解vue 图片上传功能


Posted in Javascript onApril 30, 2019

这次做了vue页面的图片上传功能,不带裁剪功能的!

首先是html代码,在input框上添加change事件,如下:

<ul class="clearfix">
        <li v-if="imgs.length>0" v-for='(item ,index ) in imgs'>
          <img :src="item">
        </li>
        <li style="position:relative" v-if="imgs.length>=6 ? false : true">
          <img src="../../assets/img/addimg.png"><input class="upload" @change='add_img' type="file">
        </li>
</ul>

我这里做了图片数量的限制,最多6张。

然后是data数据,如下:

data () {
  return {
    imgs: [],
    imgData: {
      accept: 'image/gif, image/jpeg, image/png, image/jpg',
    }
  }
 }

imgs数组是放图片路径的,页面显示图片就是循环这个数组,imgData是判断图片类型的。

接下来是最重要的methods里面的方法,具体如下:

add_img(event){ 
      let reader =new FileReader();
      let img1=event.target.files[0];
      let type=img1.type;//文件的类型,判断是否是图片
      let size=img1.size;//文件的大小,判断图片的大小
      if(this.imgData.accept.indexOf(type) == -1){
        alert('请选择我们支持的图片格式!');
        return false;
      }
      if(size>3145728){
        alert('请选择3M以内的图片!');
        return false;
      }
      var uri = ''
      let form = new FormData(); 
      form.append('file',img1,img1.name);
      this.$http.post('/file/upload',form,{
        headers:{'Content-Type':'multipart/form-data'}
      }).then(response => {
        console.log(response.data)
        uri = response.data.url
        reader.readAsDataURL(img1);
        var that=this;
        reader.onloadend=function(){
          that.imgs.push(uri);
        }
      }).catch(error => {
        alert('上传图片出错!');
      })  
},

首先是获取你选择的图片,判断图片的类型和大小,然后以form表单的形式提交到后台,后台会返回给你这个图片的线上路径,你把后台返回的图片路径push到图片数组里面就可以了。

一般情况下还有删除图片的方法,就是把图片数组里的那个路径删除掉,把数据提交到后台,告诉后台删除了哪张图片就可以了。

以上所述是小编给大家介绍的vue 图片上传功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript使用百度地图api和html5特性获取浏览器位置
Jan 10 Javascript
使用jquery实现以post打开新窗口
Mar 19 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
Jun 10 Javascript
给js文件传参数(详解)
Jul 13 Javascript
用js通过url传参把数据从一个页面传到另一个页面
Sep 01 Javascript
JavaScript File API实现文件上传预览
Feb 02 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
js中new一个对象的过程
Feb 20 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
详解vue移动端日期选择组件
Feb 22 Javascript
jquery实现穿梭框功能
Jan 19 jQuery
vue移动端屏幕适配详解
Apr 30 #Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
Apr 30 #Javascript
微信小程序时间戳转日期的详解
Apr 30 #Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 #Javascript
vue自动路由-单页面项目(非build时构建)
Apr 30 #Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 #Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 #Javascript
You might like
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
xtree.js 代码
2007/03/13 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
小饰品店的创业计划书范文
2013/12/28 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
干部作风建设工作总结
2014/10/29 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
家长会感言
2015/08/01 职场文书