//先上代码

<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. D. Spongebob and Squares--cf599D(数学)

    http://codeforces.com/problemset/problem/599/D 题目大意:给你一个数k  让你求一个n*m的矩形里面包含k个正方形   输出有几个这样的矩形  分别是什么 ...

  2. union关键字和字节大小端序的确定

    union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间 ...

  3. [BLE--Physical Layer]

    简述 BLE的物理层,可能做IC或板极硬件RF測试的会比較关注. 是偏硬件层面的. 频率带宽和信道分配 BLE工作于2.4 GHz ISM频段2400-2483.5 MHz,ISM频段是公用的,不须要 ...

  4. Android进程绝杀技--forceStop(转)

    一.概述 1.1 引言 话说Android开源系统拥有着App不计其数,百家争鸣,都想在这“大争之世”寻得系统存活的一席之地.然则系统资源有限,如若都割据为王,再强劲的CPU也会忙不过来,再庞大的内存 ...

  5. unix时间戳(unix timestamp)与北京时间的互转方法

    1.在linux bash下北京时间与unix时间戳互转: 获取unix timestamp: 命令:date "+%s" 输出:1372654714 获取北京时间: 命令:dat ...

  6. Cocos2d-X-3.0 之后的版本的环境搭建

     Cocos2d-X-3.0 之后的版本的环境搭建 由于cocos2d游戏开发引擎更新十分频繁,官方文档同步不够及时和完善.所以不要照着官方文档来照做生成工程. <点击图片就能进入网站> ...

  7. UVa 10773 - Back to Intermediate Math

    题目:渡河问题.给你河水宽度,水流速度,求垂直渡河与最快渡河的时间差. 分析:物理题,数学题. 最快渡河情况,传垂直运动,垂直渡河,船的水平分速度和水流速度抵消. 说明:注意水流速度不能为0. #in ...

  8. 2016/2/24 css画三角形 border的上右下左的调整 以及内区域的无限变小 边界透明

    网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. 今天 ...

  9. Educational Codeforces Round 17 D. Maximum path DP

    题目链接:http://codeforces.com/contest/762/problem/D 多多分析状态:这个很明了 #include<bits/stdc++.h> using na ...

  10. slf4j的总结

    参考文章 log4j2使用总结 slf4j介绍以及实现原理窥探 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案 slf4j(全称是Simple Loging Facade For Jav ...