vue 图片上传功能

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

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

  1. <ul class="clearfix">

  2.  

    <li v-if="imgs.length>0" v-for=‘(item ,index ) in imgs‘>

  3.  

    <img :src="item">

  4.  

    </li>

  5.  

    <li style="position:relative" v-if="imgs.length>=6 ? false : true">

  6.  

    <img src="../../assets/img/addimg.png"><input class="upload" @change=‘add_img‘ type="file">

  7.  

    </li>

  8.  

    </ul>

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

然后是data数据,如下:

  1. data () {

  2.  

    return {

  3.  

    imgs: [],

  4.  

    imgData: {

  5.  

    accept: ‘image/gif, image/jpeg, image/png, image/jpg‘,

  6.  

    }

  7.  

    }

  8.  

    }

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

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

[html] view plain copy

  1. <code class="language-html">add_img(event){
  2. let reader =new FileReader();
  3. let img1=event.target.files[0];
  4. let type=img1.type;//文件的类型,判断是否是图片
  5. let size=img1.size;//文件的大小,判断图片的大小
  6. if(this.imgData.accept.indexOf(type) == -1){
  7. alert(‘请选择我们支持的图片格式!‘);
  8. return false;
  9. }
  10. if(size>3145728){
  11. alert(‘请选择3M以内的图片!‘);
  12. return false;
  13. }
  14. var uri = ‘‘
  15. let form = new FormData();
  16. form.append(‘file‘,img1,img1.name);
  17. this.$http.post(‘/file/upload‘,form,{
  18. headers:{‘Content-Type‘:‘multipart/form-data‘}
  19. }).then(response => {
  20. console.log(response.data)
  21. uri = response.data.url
  22. reader.readAsDataURL(img1);
  23. var that=this;
  24. reader.onloadend=function(){
  25. that.imgs.push(uri);
  26. }
  27. }).catch(error => {
  28. alert(‘上传图片出错!‘);
  29. })
  30. },</code>

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

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

原文地址:https://www.cnblogs.com/gluncle/p/9577806.html

时间: 2024-08-11 05:54:24

vue 图片上传功能的相关文章

vue 图片上传

功能说明: 1.调用手机拍照功能 2.调用相册功能 3.图片上传功能 4.图片预览功能 5.图片删除功能 记录个多图上传组件,关键点:1.input 新增multiple2.accept="image/*处理IOS.安卓手机启用摄像头3.根据createObjectURL处理图片预览4.formData构造函数创建空对象5.通过formData.getAll(),把文件流数据转为数组 组件示例图 组件代码 upload_img.vue <template> <div class

thinkphp实现UploadFile.class.php图片上传功能

图片上传在网站里是很常用的功能.ThinkPHP里也有自带的图片上传类(UploadFile.class.php) 和图片模型类(Image.class.php).方便于我们去实现图片上传功能,下面是实现方法 1.我们首先需要创建一个表 复制代码代码如下: CREATE TABLE IF NOT EXISTS `tp_image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `image` varchar(200) NOT NULL, `create_time

(转)淘淘商城系列——实现图片上传功能

http://blog.csdn.net/yerenyuan_pku/article/details/72808000 上文我们使用FastDFS-Client进行了简单的文件上传操作测试,淘淘商城项目中添加商品时上传图片的功能还没实现,如下图所示.本文将花大量笔墨来教大家如何实现图片上传这个功能. 我们来看下item-add.jsp页面,可以看到上传图片触发的方法是通过叫做picFileUpload的class来处理的,在<a>标签的下方是一个隐藏域,是用来接收图片上传到图片服务器的回显地址

在SAE上使用Ueditor的图片上传功能

SAE上是没有目录读写权限的,所以要在SAE使用Ueditor的图片上传功能需要借助SAE的Storage服务. 一.开通Storage服务 在SAE控制台开通Storage服务,并新增一个domain. 二.修改Ueditor代码 Ueditor处理上传文件的方法在DjangoUeditor/jviews.py中,上传图片的请求是由下面函数处理的 #上传附件 @csrf_exempt def UploadFile(request,uploadtype,uploadpath):     '''

用jsp实现简单的图片上传功能(multipart/form-data形式的表单)

2008-10-11 22:07 用jsp实现简单的图片上传功能 1 先做一个页面,选择上传的图片<body>   <form action="uploadServlet" enctype="multipart/form-data" method="POST" >           selectimage: <input type="file" name="myfile"/&

jq图片上传功能

//图片上传功能jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(this); opts = jQuery.extend({ Img: "ImgPr", Width: 100, Height: 100, ImgType: ["gif", "jpeg", "jpg", "bmp", "png

给DEDECMS广告管理中增加图片上传功能

dedecms的广告管理功能稍微有点次,本文就是在dedecms广告管理原有的基础上增加广告图片上传功能. 安装方法,对应自己的dedecms版本下载对应的编码然后解压把里面的文件放在后台目录覆盖即可. 效果图: 原文地址:https://www.cnblogs.com/liu-zhijun/p/11404535.html

微信小程序之商品发布+编辑功能(多图片上传功能)

小程序的商品发布页面:功能有多图片上传 遇到的问题记录一下: 1.uploadFile成功之后返回的参数是json字符串,一定要用JSON.parse转换为object格式 2.因为商品发布和编辑都是在同一个页面,因为异步的问题,在编辑页获取商品类别经常失败,所以这里在获取类别成功之后再获取商品详情 3.判断两位小数正则:/^\d+(.\d{1,2})?$/ 4.使用picker一些注意的地方: <picker name="category" mode="selecto

java web开发 图片上传功能

基本思路在于,配置路径,然后用java I/O的api将图片上传到该目录下. String photoPath =    ServletActionContext.getServletContext().getRealPath("/user/photo/" + username); 这句是获取服务器下的目录+username 而username通过session获取. 这是一个图片上传action的方法: public String execute() throws Exception