ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vue 图片优化

2020-04-17 14:00:04  阅读:203  来源: 互联网

标签:vue 1280 res height resolve file compressAccurately 优化 图片


npm i image-conversion --save

# or 

yarn add image-conversion
import { compress, compressAccurately } from "image-conversion"; // 要用前先引用   handleBefore(file) {       /** 上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。 */       return new Promise((resolve, reject) => {         const _URL = window.URL || window.webkitURL;         const isLt2M = file.size / 1024 / 1024 > 2; // 判定图片大小是否小于4MB         // 这里需要计算出图片的长宽         const img = new Image();         img.onload = function() {           file.width = img.width; // 获取到width放在了file属性上           file.height = img.height; // 获取到height放在了file属性上           const imgwidth = img.width > 1280; // 图片宽度           const imgheight = img.height > 1280; // 图片高度           // 这里我只判断了图片的宽度,compressAccurately有多个参数时传入对象           if (imgwidth && isLt2M && imgheight) {             compressAccurately(file, {               size: 2048,               width: 1280,               height: 1280             }).then(res => {               resolve(res);             });           } else if (imgwidth && isLt2M) {             compressAccurately(file, {               size: 2048,               width: 1280             }).then(res => {               resolve(res);             });           } else if (imgheight && isLt2M) {             compressAccurately(file, {               size: 2048,               height: 1280             }).then(res => {               resolve(res);             });           } else if (imgheight && imgwidth) {             compressAccurately(file, {               width: 1280,               height: 1280             }).then(res => {               resolve(res);             });           } else if (isLt2M) {             compressAccurately(file, {               size: 2048             }).then(res => {               resolve(res);             });           } else if (imgwidth) {             compressAccurately(file, {               width: 1280             }).then(res => {               resolve(res);             });           } else if (imgheight) {             compressAccurately(file, {               height: 1280             }).then(res => {               resolve(res);             });           } else resolve(file);         }; // 需要把图片赋值         img.src = _URL.createObjectURL(file);       });     },

标签:vue,1280,res,height,resolve,file,compressAccurately,优化,图片
来源: https://www.cnblogs.com/tongshuangxiong/p/12719463.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有