//先上代码

<template>
<!-- data绑定的参数
getuploadloge: [
{
url: '',
name: ''
}
],
-->
<!-- 编辑操作模板
this.uploadstatue = false
//在父类给该upload组件添加v-if事件
this.$nextTick(() => {
this.uploadstatue = true
})
this.form = res.data
//给upload传参
this.getuploadloge = [
{
name: res.data.Name,
url: res.data.Logo,
status: 0
}
] -->
<!-- 新增模板
this.uploadstatue = false
//在父类给该upload组件添加v-if事件
this.$nextTick(() => {
this.uploadstatue = true
})
//给upload传参
this.getuploadloge[0].name = ''
this.getuploadloge[0].url = ''
this.getuploadloge[0].status = 1
-->
<!--上边的添加事件是在父类引用改子类的标签里加v-if事件,来保证组件从新加载,否则组件不会刷新-->
<div>
<p >
只能上传jpg/png文件,且不超过1024kb
</p>
<el-upload
action="#"
:auto-upload="false"
:file-list="fileList"
:multiple = "false"
:limit="1"
accept=".jpg,.jpeg,.png"
list-type="picture-card"
:class="{hide:hideUpload}"
:on-change="maximg"
:before-upload="beforeAvatarUpload"
:on-remove="handleRemove">
<!-- <img :src="backimg"> -->
<i class="el-icon-plus"></i>
</el-upload>
</div> </template> <script>
export default {
props: ['getuploadloge'],
data() {
return {
hideUpload: false, //隐藏添加窗口
dialogVisible: false, //照片模态框
fileList: [], //图片数组
uploaddate: [], //子组件数组
backimg: '../../../static/images/bank_upload_logo.png'
}
},
mounted() {
//获取图片数据
this.getupload()
},
methods: {
//获取文件数据
getupload() {
this.uploaddate = Object.assign(this.getuploadloge)
if (this.uploaddate[0].status === 1) {
this.fileList.length = 0
this.handleRemove('', this.fileList)
} else {
if (this.uploaddate[0].name) {
this.fileList = this.uploaddate
this.hideUpload = this.fileList.length >= 1
}
}
},
//文件列表移除文件时的钩子
handleRemove(file, fileList) {
if ((fileList.length = 0)) {
this.hideUpload = true
} else {
this.hideUpload = fileList.length >= 1
this.$emit('uploaddate', '')
}
},
handlePictureCardPreview(file) {},
//文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
maximg(file, fileList) {
const isIMAGE = file.name.substring(file.name.lastIndexOf('.') + 1)
const isLt1M = file.size / 1024 / 1024
if (isIMAGE !== 'jpg' && isIMAGE !== 'png' && isIMAGE !== 'jpeg') {
this.$message.error('上传文件只能是jpg和png格式!')
this.fileList.length = 0
this.handleRemove(file, fileList)
}
if (isLt1M > 1) {
this.$message.error('上传文件大小不能超过 1MB!')
this.fileList.length = 0
this.handleRemove(file, fileList)
}
this.hideUpload = fileList.length >= 1
let reader = new FileReader() //html5读文件
//转BASE64
reader.readAsDataURL(file.raw)
reader.onload = e => {
this.uploaddate = e.target.result
//读取完毕后调用接口
this.$emit('uploaddate', this.uploaddate)
} return isIMAGE && isLt1M
},
beforeAvatarUpload(file, fileList) {
// console.log('123465789')
}
},
name: 'Upload'
}
</script>
<style>
.hide .el-upload--picture-card {
display: none;
}
</style>
<style scoped>
</style>

//因为我的dialog写的公用组件,需要的可以看下我的其他文章.

//因为我的新增与修改是一个模态框,所以判断那一块可以自行修改.

//file-list绑定的数组格式是:File-list:[{name:名字,url:地址}]

//只要符合这个数组就可以回显.

//其中的属性代表什么官网里有详细解释,在这里就不一一解释了.

//说几个特殊点的.accept属性是点击上传按钮后,弹出的图片选择框的默认后缀.目的是为了加载迅速,如果不加此属性,点击后页面文件过多的情况下会加载很慢.

//注意:accept后面跟的不是验证,accept后面跟的不是验证,accept后面跟的不是验证,如果需要验证请在方法中写校验规则

element中upload单图片转base64后添加进数组,请求接口的更多相关文章

  1. Angular中$watch实现控件改变后实时发送HTTP请求

    实现代码如下 <!DOCTYPE html> <html ng-app="myServiceApp"> <head> <meta char ...

  2. java消除整型数组中重复的元素,排序后输出新数组

    法一: import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(S ...

  3. 分离与继承的思想实现图片上传后的预览功能:ImageUploadView

    本文要介绍的是网页中常见的图片上传后直接在页面生成小图预览的实现思路,考虑到该功能有一定的适用性,于是把相关的逻辑封装成了一个ImageUploadView组件,实际使用效果可查看下一段的git效果图 ...

  4. Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作

    Visual Studio 2017中使用正则修改部分内容   最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效 ...

  5. Vue项目打包发布后CSS中的背景图片不显示

    相信有很多同学在学习vue的刚开始都遇到过项目打包发布后发现CSS中的背景图片不显示,具体如何解决只需要更改bind的配置即可 修改 build/utils.js 中的 generateLoaders ...

  6. 【PHP】图片转换为base64,经过post传输后‘+’会变成 ‘空格’

    图片转换为base64,经过post传输后‘+’会变成 ‘空格’, 需要用PHP 处理一下 $str= $_POST['img_data']; $str= str_replace(' ','+',$s ...

  7. 在vue项目中,解决如何在element表格中循环出图片列!

    效果图: 1,vue项目环境 2,引入element-ui组件 3,制作表格 此处省去制作循环表格数据那步,想看的可以找回我的博客:element中的表格处理:循环出表格数据 今天想在表格出循环出一列 ...

  8. C#中图片转换为Base64编码,Base64编码转换为图片

    #region 图片转为base64编码的字符串 public string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = ...

  9. JS上传图片-通过FileReader获取图片的base64

    下面文章,我想要的是: FileReader这个对象,可以借助FileReader来获取上传图片的base64,就可以在客户端显示该图片了.同时,还可以把该图片的base64发送到服务端,保存起来. ...

随机推荐

  1. HDU——2119 Matrix

    Matrix Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. CodeForces 429B【dp】

    题意: 在一个n*m的矩阵中有两只虫子,一只从左上角向右下角移动,另外一只从左下角向右上角移动. 要求: 1.第一只虫子每次只能向左或者向下移动一格,另外一只只能向上或者向右移动一格. 2.两只虫子的 ...

  3. 转 asterisk app命令中文翻译

    常规指令 Authenticate:鉴别用户 VMAuthenticate:根据“voicemail.conf”鉴别用户 Curl:接受外接URLs的修复.支持POSTing DUNDiLookup: ...

  4. hdu1042 (模拟n!)

    题目大意: 求 n.(可能会超过整数范围,这里用数组模拟n!的值) pid=1042">http://acm.hdu.edu.cn/showproblem.php?pid=1042 A ...

  5. asp.net mvc 抓取京东商城分类

    555 asp.net mvc 抓取京东商城分类   URL:http://www.jd.com/allSort.aspx   效果:   //后台代码 public ActionResult Get ...

  6. Android Client and PHP Server

    1 FEApplication https://github.com/eltld/FEApplication https://github.com/eltld/FE-web https://githu ...

  7. Android之——AIDL深入

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47071927 在上一篇博文<Android之--AIDL小结>中,我们 ...

  8. OC基础:Date

    NSDate  日期类,继承自NSObject,代表一个时间点 NSDate *date=[NSDate date]; NSLog(@"%@",date);   //格林尼治时间, ...

  9. 手机阅读行业SWOT分析

    上个星期,在公司内部的分享活动上给童鞋们分享了手机阅读行业现状,小伙伴儿们嗷嗷待哺的眼神促使我把PPT转换为博客里的文字和图片,再一次更加深入地进入手机阅读. 通过SWOT分析分析我们能够对手机阅读行 ...

  10. vs2013发布网站提示 “未能将文件**复制到**”

    原因:年久失修,原来在项目中的一些文件给删掉或移除了 解决方法:打开.csproj文件(记事本打开),把提示的文件给删除掉.