vue 移动端上传图片结合localResizeIMG插件进行图片压缩

localResizeIMG插件的功能是将图片进行压缩,然后转换成base64传给后台。

首先,

1 npm i lrz -save

然后,再main.js里面引入lrz

import lrz from ‘lrz‘

最后就可以在组件里使用

1 <input  type="file" @change="uploadImg($event)" id="file" accept="image/*" class="uploadImg" multiple>
 1  uploadImg(e){
 2         let that=this;
 3         let imgFiles=e.target.files;
 4         if(e.target.files.length+that.showImgsrc.length>=4){
 5           MessageBox("提示", "最多只能三张图片,请重新上传");
 6         }else{
 7           for(var i=0;i<imgFiles.length ; i++ ){
 8             lrz(imgFiles[i])
 9               .then(function (rst) {
10                 // 处理成功会执行
11                 that.showImgsrc.push(rst.base64);
12               })
13               .catch(function (err) {
14                 // 处理失败会执行
15                 console.log(err);
16               })
17               .always(function () {
18                 // 不管是成功失败,都会执行
19               });
20           }
21         }
22       },

因为我是多图上传,所以showImgsrc是一个base64格式的图片形成的数组,然后展示在页面上,也可以传给后台接口,进行后面的操作。

原文地址:https://www.cnblogs.com/zr123/p/11991861.html

时间: 2024-08-30 13:25:32

vue 移动端上传图片结合localResizeIMG插件进行图片压缩的相关文章

微擎app端上传图片后删除不了图片

相信在微擎开发的哥们都知道, 微擎在手册方面还是有点坑的,根本不让人活啊.没办法, 开发时, 只能自己看着源码来搞>>>> 好, 不多说了. 现在来看一个坑  ..直接上代码\ html: <!--自己的头部引入-->{template 'common_header'} <script type="text/javascript" src="{$_W['siteroot']}app/resource/js/app/util.js&qu

纯原生js移动端图片压缩上传插件

前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于jquery.zepto的(这句话似乎吐槽次数太多了...),然后我也就不吐槽了, 然后当然是自己做了,先上图: 纯原生js的移动端图片压缩上传插件,不依赖任何库 用法 在html页面中引入input标签,通过自定义属性data-LUploader绑定点击触发的标签id,写法如下: <div cla

vue服务端渲染提取css

vue服务端渲染,提取css单独打包的好处就不说了,在这里主要说的是抽取css的方法 要从 *.vue 文件中提取 CSS,可以使用 vue-loader 的 extractCSS 选项(需要 vue-loader12.0.0+) // webpack.config.js const ExtractTextPlugin = require('extract-text-webpack-plugin') // CSS 提取应该只用于生产环境 // 这样我们在开发过程中仍然可以热重载 const is

解析Nuxt.js Vue服务端渲染摸索

本篇文章主要介绍了详解Nuxt.js Vue服务端渲染摸索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Nuxt.js 十分简单易用.一个简单的项目只需将 nuxt 添加为依赖组件即可.Vue因其简单易懂的API.高效的数据绑定和灵活的组件系统,受到很多前端开发人员的青睐.国内很多公司都在使用vue进行项目开发,我们正在使用的简书,便是基于Vue来构建的.我们知道,SPA前端渲染存在两大痛点:(1)SEO.搜索引擎爬虫难以抓取客户端渲染的

vue服务端渲染 同构渲染

引言 自JavaScript诞生以来,前端技术发展非常迅速.移动端白屏优化是前端界面体验的一个重要优化方向,Web 前端诞生了 SSR .CSR.预渲染等技术. 十年前,几乎所有网站都使用 ASP.Java.PHP 这类做后端渲染,但后来随着 jQuery.Angular.React.Vue 等 JS 框架的崛起,开始转向了前端渲染.2014年起又兴起了同构渲染,号称是未来,集成了前后端渲染的优点,当真如此? 我们先明确三个概念: 后端渲染:后端渲染指传统的 ASP.Java 或 PHP 的渲染

Android端上传图片到后台,存储到数据库中 详细代码

首先点击头像弹出popwindow,点击相册,相机,调用手机自带的裁剪功能,然后异步任务类访问服务器,上传头像,保存到数据库中, 下面写出popwindow的代码 //设置popwindow public PopupWindow getPopWindow(View view){ PopupWindow popupWindow=new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParam

vue移动端滑动兼容

vue移动端transition兼容 .face-recognition .wrapper(:style="{height: viewHeight+'px'}") .face-recognition{ height: 100%; display: flex; flex-direction: column; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: #ffffff; .wrapp

ASP.NET MVC在服务端把异步上传的图片裁剪成不同尺寸分别保存,并设置上传目录的尺寸限制

我曾经试过使用JSAjaxFileUploader插件来把文件.照片以异步的方式上传,就像"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"中说的,这种方法足够轻.足够好.但今天,要在前面的基础上再增加2个需求: 1.异步判断上传的图片是否超过最大限制2.把上传的图片裁剪成大中小3张图片,分别保存,删除的时候一块被删除 上传图片如果超出最大尺寸限制,终止上传,并报错误信息. 前台上传图片,显示缩略图. 在项目根目录下的指定文

利用jquery的imgAreaSelect插件实现图片裁剪示例

利用jquery的imgAreaSelect插件实现图片裁剪示例 将用户上传的图片进行裁剪再保存是现在web2.0应用中常常处理的工作,现在借助jquery的imgareaselect插件再配合PHP的GD库就可以轻松的实现这个在以前来说非常棘手的功能.我们来看看它的实现步骤: 1.包含进CSS文件(imgareaselect-default.css)和 jquery.imgareaselect.js文件 2.html代码(要裁剪的图片元素) <img id="selectbanner&q