iview upload 上传图片 不传服务器 转 base64
开始的时候 找不到this了,后来想起来要用 ES6的箭头函数 就有this了
- reader.onload = e => {
- // 读取到的图片base64 数据编码 将此编码字符串传给后台即可
- // console.info('e', e)
- // console.info('e.target.result', e.target.result)
- // console.info('modalVmodel', format)
- this.base64 = e.target.result
- // console.info('this.base64', _this.base64)
- }
-----------------------
- <!--
- * @description 上传图片
- * @fileName camera.vue
- * @author 彭成刚
- * @date // ::
- * @version V1.0.0
- !-->
- <template>
- <div>
- <Drawer title="上传照片"
- class="uploadPhotoDrawerClass"
- v-model="drawerVmodel"
- width=""
- :mask-closable="false">
- <div class='divFormClass'>
- <Upload :action="'localhost'"
- :show-upload-list="false"
- ref='upload'
- name="uploadFile"
- type="drag"
- :before-upload="handleBeforeUpload">
- <!-- :data='upData' -->
- <div style="padding: 20px 0">
- <Icon type="ios-cloud-upload"
- size=""
- style="color: #3399ff"></Icon>
- <p>选择 jpg 文件</p>
- </div>
- </Upload>
- <div style="margin:10px;">{{xFile.name}}</div>
- </div>
- <div class='demo-drawer-footer'>
- <Button @click="modalCancel"
- style='margin-right:10px;'>关闭</Button>
- <Button type="primary"
- @click="modalSave">保存</Button>
- </div>
- </Drawer>
- <!-- <Modal @on-cancel="modalCancel"
- class="uploadPhoto"
- v-model="modalVmodel"
- width=""
- :mask-closable="false"
- title="上传图片">
- <div class='divFormClass'>
- </div>
- <div slot="footer">
- <Button @click="modalCancel">关闭</Button>
- <Button type="primary"
- @click="modalSave">保存</Button>
- </div>
- </Modal> -->
- </div>
- </template>
- <script>
- export default {
- data () {
- return {
- xFile: {
- name: ''
- },
- base64: '',
- drawerVmodel: false,
- modalVmodel: false
- }
- },
- components: {},
- computed: {},
- mounted () {
- this.drawerVmodel = true
- },
- methods: {
- handleBeforeUpload (item) {
- let _this = this
- let warningStr = ''
- let format = ['jpg']
- if (this.checkFormat(item.name, format)) { warningStr += '文件格式不符,请上传jpg格式 ' }
- if (this.checkSize(item.size, )) { warningStr += '文件大小超过5M,请检查后重新上传!' }
- if (warningStr.length !== ) {
- this.$Message.warning({
- content: warningStr,
- duration: ,
- closable: true
- })
- }
- if (warningStr.length === ) {
- this.xFile = item
- console.info('this.xFile', this.xFile)
- let reader = new FileReader()
- reader.readAsDataURL(item)
- // console.info('reader', item)
- reader.onload = function (e) {
- // 读取到的图片base64 数据编码 将此编码字符串传给后台即可
- // console.info('e', e)
- // console.info('e.target.result', e.target.result)
- // console.info('modalVmodel', format)
- _this.base64 = e.target.result
- // console.info('this.base64', _this.base64)
- }
- }
- return false
- },
- checkSize (size, maxSize) {
- // size 单位是byte maxSize 单位是mb
- let maxSizeByte = maxSize * *
- if (size > maxSizeByte) {
- return true
- } else {
- return false
- }
- },
- checkFormat (fileName, format) {
- let index = fileName.lastIndexOf('.')
- let suffix = fileName.substr(index + )
- // console.info('suffix', suffix)
- let ret = true
- format.some((item, index, arr) => {
- if (item === suffix) {
- ret = false
- }
- })
- return ret
- },
- modalCancel () {
- this.drawerVmodel = false
- },
- modalSave () {
- console.info('this.base64', this.base64)
- if (this.base64 === '') {
- this.$Message.warning('未上传照片')
- } else {
- this.$emit('save-base64', this.base64)
- }
- this.modalCancel()
- }
- }
- }
- </script>
- <style lang='less'>
- .ivu-message {
- z-index: !important;
- }
- // .uploadPhoto {
- // .divFormClass {
- // height: calc(~"100vh - 350px");
- // overflow-y: auto;
- // padding-right: 15px;
- // }
- // }
- .uploadPhotoDrawerClass {
- .ivu-drawer-mask {
- z-index: !important;
- }
- .ivu-drawer-wrap {
- z-index: !important;
- }
- .demo-drawer-footer {
- width: %;
- position: absolute;
- bottom: ;
- left: ;
- border-top: 1px solid #e8e8e8;
- padding: 10px 16px;
- text-align: right;
- background: #fff;
- }
- .divFormClass {
- height: calc(~"100vh - 140px");
- overflow-y: auto;
- padding-right: 15px;
- }
- }
- </style>
iview upload 上传图片 不传服务器 转 base64的更多相关文章
- kindeditor修改图片上传路径-使用webapi上传图片到图片服务器
kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 在这里我着重介绍一些使用kindeditor修改图片上传路径并通过webapi上传图片到图片服务器的方案. 因为我使用的 ...
- kindeditor扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器
前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...
- kindeditor扩展粘贴截图功能&修改图片上传路径并通过webapi上传图片到图片服务器
前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...
- iview Upload组件多个文件上传
使用 iview Upload 上传组件 手动上传 包括单个文件和多个文件 思路:创建一个数组 把需要上传的文件 push到这个数组里面 1.引用组件 2.手动上传,根据官方文档 设置:before ...
- iview upload on-format-error 事件 在 before-upload 事件 之后,导致在before里面阻止上传后,监测事件失效,需要自己手工写
iview upload on-format-error 事件 在 before-upload 事件 之后,导致在before里面阻止上传后,监测事件失效,需要自己手工写
- php工作笔记1-数组常用方法总结,二维数组的去重,上传图片到oss服务器
1.二维数组去重,生成二维数组 private function array_unique_fb($array2D){ $data = array(); foreach($array2D as $k ...
- IOS 视频.图片上传服务器
//上传视频 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.requestSerializer. ...
- html+php上传图片文件到服务器
html+php上传图片文件到服务器 一.html代码 <body> <form action="" method="post" enctyp ...
- 导出HTML5 Canvas图片并上传服务器功能
这篇文章主要介绍了导出HTML5 Canvas图片并上传服务器功能,文中通过实例代码给大家介绍了HTML5 Canvas转化成图片后上传服务器,代码简单易懂非常不错,具有一定的参考借鉴价值,需要的朋友 ...
随机推荐
- 【旧文章搬运】PspCidTable攻与防
原文发表于百度空间,2009-03-29========================================================================== PspCi ...
- Ubuntu中字体的改变
1.sudo dpkg-reconfigure console-setup 2.弹出 Configuring console-setup 界面,选择适当的编码格式,我们一般选择默认的UTF-8,选择O ...
- input required字段;django input输入框不填写会自动变红如何修改
前端页面中,input不输入任何内容时,点击submit时,未填写的input会标红框,有些人还会有"该字段必填的字样"!! 什么鬼,你妹的,js也见不到,css3动画也见不到,怎 ...
- poj3617【贪心】
题意: 给定长度为N的字符串S,要构造一个长度为N的字符串T串. 从S的头部删除一个字符,加到T的尾部 从S的尾部删除一个字符,加到T的尾部 目标是构造字典序尽可能小的字符串. 思路: 贪心,每次取小 ...
- 关于国债的一些计算: 理论TF价格1(缴款日前无付息)
计算 ExpectedTFPrice 是一个比较复杂的计算,我们这里讨论简单的一种情况. 给定一只可交割国债bond(一般为CTD),一个国债期货tf,一个日期t(表示tf的一个交易日期,我们通过t日 ...
- IT兄弟连 ElasticSearch在Linux下的安装和启动、常见问题解决
环境要求 · Linux(Centos 7) · ElasticSerach 6.6.1 ES下载 · 下载地址:https://www.elastic.co/cn/do ...
- 树的直径初探+Luogu P3629 [APIO2010]巡逻【树的直径】By cellur925
题目传送门 我们先来介绍一个概念:树的直径. 树的直径:树中最远的两个节点间的距离.(树的最长链)树的直径有两种方法,都是$O(N)$. 第一种:两遍bfs/dfs(这里写的是两遍bfs) 从任意一个 ...
- 如何为github已有仓库添加协议。
在github创建开源项目的时候,github会引导开发者添加一个开源协议,直接照着操作即可.但是如果一开始没有添加开源协议,后面要怎么添加呢? 百度无果.多方打听.总结如下步骤. 1.首先,进入你的 ...
- 将tomcat添加到系统服务
一.安装服务 执行“service.bat install 二.卸载服务 在命令行中进入/Tomcat路径/bin/,执行“service.bat remove”
- Educational Codeforces Round 46 (Rated for Div. 2) B. Light It Up
Bryce1010模板 http://codeforces.com/problemset/problem/1000/B 思路:先用两个数组sumon[]和sumoff[]将亮着的灯和灭的灯累计一下. ...