这篇文章主要介绍“怎么使用vue实现微信端图片压缩上传”,在日常操作中,相信很多人在怎么使用vue实现微信端图片压缩上传问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用vue实现微信端图片压缩上传”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!业务场景
微信端项目是基于Vux + Axios构建的,关于图片上传的业务场景有以下几点需求:1、单张图片上传(如个人头像,实名认证等业务)2、多张图片上传(如某类工单记录)3、上传图片时期望能按指定尺寸压缩处理4、上传图片可以从相册中选择或者直接拍照遇到的坑
采用微信JSSDK上传图片
在之前开发的项目中(mui + jquery),有使用过微信JSSDK的接口上传图片,本想应该能快速迁移至此项目。事实证明编程没有简单的事:1、按指定尺寸压缩图片JSSDK提供的接口wx.chooseImage 是不能指定图片压缩尺寸的,只能在后端的接口通过localId获取图片时,再转换成指定的尺寸。2、微信JSSDK的接口权限验证只要是单页面应用项目,微信JSSDK注入权限验证都会有这个坑,而这个与路由模式(hash 或 his免费云主机域名tory)也有关联。经过权衡考虑网页可能需要在微信以外的浏览器上也能上传文件,顾后来放弃了采用微信JSSDK接口上传图片的方式。android版微信,input onchange事件不触发
这个坑,圈内有很多人踩过了。在PC端测试是正常的,发布之后,微信端上传时能选择文件,但之后没有任何效果。日志跟踪,后台的api都未调用,由此判断是input的onchange事件未被触发。解决方案, 更改input的 accept属性:将以上代码更改为:如果不允许从相册中选择,只能拍照,增加capture=”camera”:使用Lrz.js压缩图片
目前手机拍照的图片文件大小一般在3-4M,如果在上传时不做压缩处理会相当浪费流量并且占用服务器的存储空间(期望上传原图的另做讨论)。如果能够在前端压缩处理,那肯定是最理想的方案。而lrz.js 则提供了前端图片文件的压缩方案,并且可以指定尺寸压缩。实测:3M左右的图片文件,按宽度450px尺寸压缩上传后的文件大小在500kb左右,上传时间2s以内。其核心源码,如下:单个图片上传组件完整代码,如下(注: icon图标使用的是svg-icon组件):后端图片存储处理
后端api对图片的处理,是必不可少的环节,需要将前端提交过来的base64字符串转换成图片格式,并存放至指定的文件夹,接口返回图片的Url路径。其核心源码,如下:Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。到此,关于“怎么使用vue实现微信端图片压缩上传”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!
这篇文章主免费云主机域名要讲解了“怎么用vue获取元素的高”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用vue获取元素的高”吧!1.首先,在vue-cli中创建一个vue.js项目;vue create …
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。