时间:2021-05-08
因为原型图跟插件ui有出入,所以自己写了一个方法。。
首先得有一个上传按钮。
<input type="file" id="fileys" class="fileys" @change="uploadFile($event)" accept="image/*"/><!--uploadFile用change是因为。用户可能会重复选其他图片-->入正题:
uploadFile:function(event){let file = event.target.files[0]; //获取input的图片file值let param = new FormData(); // 创建form对象if(param.getAll('file')[0] == "undefined"){ return false //判断是不是空 } let reader = new FileReader() reader.readAsDataURL(file) //读取文件并将文件以URL的形式保存在resulr属性中 base64格式 ,,,网上文档好像规定了格式。。我就选了一个base64 reader.onload = function(e) { // 文件读取完成时触发 let result = e.target.result // base64格式图片地址 var image = new Image() image.src = result // 设置image的地址为base64的地址 image.onload = function(){ var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); canvas.width = image.width; // 设置canvas的画布宽度为图片宽度 canvas.height = image.height; context.drawImage(image, 0, 0, image.width, image.height) // 在canvas上绘制图片 let dataUrl = canvas.toDataURL('image/jpeg', 0.001) //设置压缩比,可根据需要设置,设置过小会影响图片质量,dataUrl 为压缩后的图片资源,可将其上传到服务器 let tupian = _this.dataURLtoFile(dataUrl, file.name) param.append('file', tupian);//对应后台接收图片名 //然后这里就可以写axios方法。去将这个param上传到后台 } } }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
之前写过一篇有关Canvas图片处理的文章,今天我们讲讲如何使用Canvas来压缩图片。Canvas图片压缩流程接下来我将以具体实例为大家讲解Canvas图片压
本文实例为大家分享了移动端图片上传组件,供大家参考,具体内容如下Imageupload使用FileAPI+canvas客户端压缩图片,并实现文件上传服务端文件依
昨天研究了一下canvas压缩图片的方法,上传上来给大家分享一下//drawimage三种调用方法//ctx.drawImage(Image,dx,dy);//
两种压缩图片的方法:压缩图片质量(Quality),压缩图片尺寸(Size)。压缩图片质量NSData*data=UIImageJPEGRepresentati
本文主要讲解基于Vue+Vant,实现移动端图片选择,并用Canvas压缩图片,最后上传至服务器。还会封装一个工具类,方便直接调用。一、工具类封装废话不多说先上