vue 上传图片
来源:互联网 发布:君子去仁 恶乎成名注解 编辑:程序博客网 时间:2024/06/11 01:20
vue 用 file 的 change获取到上传文件的基本信息
<input type="file" name="file" class="upload__input" @change="uploadChange" accept="image/png,image/gif">
<div class="imgSrc"><img :src="imgDataUrl" ></div>
然后拿到图片后用 beta64 转化预览图片
uploadChange(event){if(event.target.files.length>0){this.files = event.target.files[0]; //提交的图片this.$conf.getBase64(event.target,(url)=>{this.imgDataUrl = 'data:image/png;base64,'+url; //显示的图片}); }},
beta64方法
getBase64 : function(file,callback){ var maxWidth = 640; if(file.files && file.files[0]){ var thisFile = file.files[0]; if(thisFile.size>2019200){ // mualert.alertBox("图片不能超过800K"); alert("图片不能超过2M"); return }; var reader = new FileReader(); reader.onload = function(event){ var imgUrl = event.target.result; var img = new Image(); img.onload = function(){ var canvasId = 'canvasBase64Imgid', canvas = document.getElementById(canvasId); if(canvas!=null){document.body.removeChild(canvas);} var canvas = document.createElement("canvas"); canvas.innerHTML = 'New Canvas'; canvas.setAttribute("id", canvasId); canvas.style.display='none'; document.body.appendChild(canvas); canvas.width = this.width; canvas.height = this.height; var imageWidth = this.width, imageHeight = this.height; if (this.width > maxWidth){ imageWidth = maxWidth; imageHeight = this.height * maxWidth/this.width; canvas.width = imageWidth; canvas.height = imageHeight; } var context = canvas.getContext('2d'); context.clearRect(0, 0, imageWidth, imageHeight); context.drawImage(this, 0, 0, imageWidth, imageHeight); var base64 = canvas.toDataURL('image/png',1); var imgbase = base64.substr(22); callback(imgbase) //this.imgUrl = } img.src = imgUrl; } reader.readAsDataURL(file.files[0]); } },
提交表单addSub(){let data = {};let files = this.files;let param = new FormData(); //创建form对象if(files!=''){param.append('file', files,files.name); //单个图片 ,多个用循环 append 添加}else{this.$message.error('请添加图片');}param.append('param', JSON.stringify(data));//添加form表单中其他数据let config = { headers:{'Content-Type':'multipart/form-data'}}; //添加请求头this.$ajax.post(this.ajaxUrl +'addStation',param,config) .then(response=>{ var ret = response.data; if(ret.status){this.$message({message : '新增成功',type : 'success'})//清空数据this.imgDataUrl = '';this.files = [];}else{this.msg(ret.msg);}}) },
阅读全文
0 0
- vue 上传图片
- vue上传单张图片
- vue 图片上传组件
- vue上传图片组件
- vue 上传图片
- vue上传图片组件编写
- vue上传图片组件编写
- vue移动端图片上传
- vue上传多张图片
- input_file上传图片(vue)
- vue 图片上传 图片展示 bootstrap
- vue中实现图片丶文件上传
- vue开发:移动端图片上传
- 使用vue构建一个上传图片表单
- vue移动端图片裁剪上传
- vue-quill-editor自定义图片上传
- vue-quill-editor自定义图片上传
- 最简单的vue上传图片
- Android中WebView的缓存机制 & 资源预加载方案
- 继承父类私有成员是否可以修改
- 【Matlab】Canny算子提取边缘
- 页面刷新重载方法汇总
- cocos 坐标转换
- vue 上传图片
- vue---生命周期函数
- Java高级工程师面试题目汇集(关于Struts,Spring,Hibernate三大框架的面试)
- Aidl简单了解
- 软件质量模型的6大特性和27个子特性
- 容器service endpoint with name xxx already exist问题
- SVN-无法查看log,提示Want to go offline,时间显示1970问题
- java命令执行来依赖包的jar包
- 根据已知的一个百分数,显示一个跳动的强度条