vue 封装组件上传img
var _uploadTemplate = '<div>'+
'<input type="file" name="file" v-on:change="change" id="file" accept="img.png" style="display: none;">' +
'</div>'; Vue.component('vue-upload', {
template: _uploadTemplate,
props: ["accept","backfun", "height", "width"],
data: function () {
return {
model: {
code: 0,
message: "",
fileUrl: ""
}
}
},
methods: {
change: function () {
var that= this;
var file = document.getElementById("file"); // 文件流
var fileData=file.files[0];
var fileType=file.value.toLowerCase().split('.');//以“.”分隔上传文件字符串
//展示数据用
//限制图片格式
if(fileType[fileType.length-1]!='jpg'&&fileType[fileType.length-1]!='png'&&fileType[fileType.length-1]!='jpeg'){
document.getElementById("file").value = "";
that.model.code =1;
that.model.message="图片格式不正确!";
that.backfun(that.model);
return;
}
if (fileData.size > 5242880) {
document.getElementById("file").value = "";
that.model.code = 2;
that.model.message="图片文件太大!";
that.backfun(that.model);
return;
}
var reader = new FileReader();
reader.readAsDataURL(fileData,"UTF-8");
reader.onload = function (evt) {
var fileString = evt.target.result;
that.model.code = 0;
that.model.fileUrl =fileString;
that.backfun(that.model);
}
}
},
}); var _loadingTemplate ='<transition enter-active-class="animated fadeIn" leave-active-class="animated fadeOut"><div style="display: block;" v-if="show"></transition>'; Vue.component('coinbig-loading', {
template: _loadingTemplate,
props: ["show"],
});
html 样式就不写了 没什么东西
调用组件
<div class="middle-image">
<div class="middle-imageson">
<img class="middle-imgas" :src="imgSrcTx||'/url'"/> //上传后会传到这。有一个默认的img
</div>
<div class="middle-imagesona" v-on:click="upload()">修改</div>
<vue-upload :ext="'png,jpeg,jpg'":backfun="uploadBack" :width="64" :height="64"></vue-upload>
</div>
调用js
//头像上传图片
upload:function(){
$("#file").trigger("click");
},
//图片SHANGCHUAN
uploadBack:function(data){
var that = this;
if(data.code!=0){
return;
}
that.imgSrcTx = data.fileUrl;
that.SubmitsendImg();
},
SubmitsendImg:function () {
var that = this;
Comm.runebws("url",{avatar:that.imgSrcTx},"post",function (result) {
if(result.code==0){ }else{
that.msgFun(result.msg);
return
}
})
}
vue 封装组件上传img的更多相关文章
- vue-upload 封装组件-上传组件
我后端的,刚接触vue个星期,根据需求写了个上传控件,很灵活的.没有看element el-upload源码,样式用的element的.感觉vue确实好用. 先看样子: <!-- 单文件上传组件 ...
- VUE -- 用组件上传文件和用xmlrequest上传
xmlrequest: sendForm(str, types) { var form = this.$refs.ipas_form; var oOutput = document.querySele ...
- vue 阿里云上传组件
vue 阿里云上传组件 Vue.js上传图片到阿里云OSS存储 测试项目git地址 本测试项目启动方法 示例链接 组件配置项 实践解释 本文主要介绍如何 在vue项目中使用web 直传方式上传阿里云o ...
- 微信小程序简单封装图片上传组件
微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...
- vue中el-upload上传多图片且携带参数,批量而不是一张一张的解决方案
现在前端基本不是vue技术栈就是react技术栈. vue技术栈最常用的就是element-ui的ui框架了. 在项目中,我们经常会碰到这种需求:批量上传文件 element-ui 确实也为我们提供了 ...
- Vue的组件及传参
目录 Vue的组件及传参 Vue组件的概念 根组件 子组件(局部组件) 父组件向子组件传值 子组件向父组件传值 Vue的组件及传参 Vue组件的概念 我们首先要知道组件的概念,实际上每一个组件都是一个 ...
- 使用commons-fileUpload组件上传文件
在近期的一个项目中有用到commons-fileUpload组件进行实现文件上传的功能(由于没用到框架),在使用的过程中有遇到一些问题,经过自己的琢磨也算顺利地将其解决了,在这里做个记录. 一.com ...
- asp 文件上传(ASPUpload组件上传)
要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload 要实现该功能,就要利用一些特制的文件上传组件 ...
- EasyUI 关于IE使用window组件上传文件
有时候IE会对使用window组件上传文件(第二次)不生效,解决方案是: 将该window每次打开的时候,使用: $('#adUploadWindow').window('refresh', 'pan ...
随机推荐
- hdu2147(yy)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意:给出一个n*m的矩阵,一开始有个点在最右上方, 两个人轮流移动点,可以向左移一格,或者向下 ...
- [Xcode 实际操作]一、博主领进门-(7)使用不同类型的iOS模拟器
目录:[Swift]Xcode实际操作 本文将演示使用不同类型的iOS模拟器. 点击[运行]按钮,打开模拟器,并预览当前的项目. 当向苹果商店提交应用时,也需要同时提交应用的截图. 对当前的应用的界面 ...
- Mol Cell Proteomics. |彭建祥| 人胃肠道间质瘤亚群蛋白质组图谱
大家好,本周分享的是发表在Molecular & Cellular Proteomics 上的一篇关于人胃肠道间质瘤亚群蛋白质组图谱的文章,题目是Proteomic maps of human ...
- socket编程模拟linux下的ssh代码实现
实现思路: 1.提供输入指令的客户端: 2.提供返回执行指令结果的服务端 3.寻找服务端返回结果一次无法全部接收的解决思路 服务端代码(ssh_server.py) #coding=utf-8 imp ...
- [題解](貪心/堆)luogu_P2107小Z的AK計劃
清明講過一道類似的,難度略大的:P3545 [POI2012]HUR-Warehouse Store 兩道題類似,都是暫時先把前面的加進候選集合里,如果超出限制的話就拿現在這個和前面的交換, 相當於不 ...
- Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) A
Vasily has a number a, which he wants to turn into a number b. For this purpose, he can do two types ...
- morphia(2)-添加
1.简单 @Test public void add() throws Exception { final Employee em = new Employee("遥远2",500 ...
- B. Apple Tree 暴力 + 数学
http://codeforces.com/problemset/problem/348/B 注意到如果顶点的数值确定了,那么它分下去的个数也就确定了,那么可以暴力枚举顶点的数值. 顶点的数值是和LC ...
- JAVA本地项目手机访问
http://192.168.40.56:7082/carloan/#newOrderView ipconfig 找到本地ip,然后把localhost改成本地ip就行
- springJDBC 事物隔离
五.Spring-jdbc的实现 第一步:导jar包 pom.xml <!--引入spring-beans节点--><dependency> <groupId> ...