压缩为 webp 格式
安装插件

npm install --save imagemin
npm install --save imagemin-webp

压缩图片

const images = ['F:/a_desktop/20200330_143904.png', 'F:/a_desktop/20200330_143902.png'] // 一定要是 /, 因为这里使用的是 glob 匹配模式, 如: 'images/*.{jpg,png}'
const output = 'F:/a_desktop/output'
const quality = 80
const webps = await imagemin(images, {destination: output,plugins: [imageminWebp({quality: quality,}),],
});
// console.log("--- webps: ", typeof(webps));
// [{data: <Buffer 89 50 4e …>, destinationPath: 'build/images/foo.jpg'}, …]
const resArr = Object.keys(webps).map(key => webps[key].destinationPath);

vscode 中的完整源码
PicTool.ts

const imagemin = require('imagemin');
const imageminWebp = require('imagemin-webp');class PicTool {// images 是一个 glob 数组, 如: ['images/*.{jpg}']public static imageminToWebp(images: string[], output: string, quality: number) {return new Promise<string[]>(async (resolve, reject) => {const webps = await imagemin(images, {destination: output,plugins: [imageminWebp({quality: quality,}),],});// console.log("--- webps: ", typeof(webps));// [{data: <Buffer 89 50 4e …>, destinationPath: 'build/images/foo.jpg'}, …]const resArr = Object.keys(webps).map(key => webps[key].destinationPath);resolve(resArr)});}
}export default PicTool;

使用

import PicTool from './PicTool';// 是否自动上传, vscode 配置参数
export interface IQiniuAuto {isCompress: booleanisAutoUpload: boolean // 是否监听文件quality: number // 压缩质量isUpload: boolean // 用于是否上传
}// 压缩图片
let autoCfg = this.cfg.get<IQiniuAuto>(E_CONFIG.autoUploadQiniu);
if (autoCfg.isCompress) {const tempDir = path.join(vscode.workspace.rootPath, 'compressTempSave');const picArr = await PicTool.imageminToWebp(filePathArr, tempDir, autoCfg.quality) // 关键代码for (const srcFile of filePathArr) { // 删除 原图Utils.delFileSync(srcFile);}filePathArr = picArr // 生成压缩图路径数组
}

短视频平台搭建图片压缩相关推荐

  1. 短视频平台搭建,移动端商品下单、购买过程的实现

    短视频平台搭建,移动端商品下单.购买过程的实现 代码部分 @charset "utf-8"; /* CSS Document *//*公用的*/ .comWidth{margin- ...

  2. 关于短视频平台框架搭建与技术选型探讨

    近年来,互联网高速发展,电视等传统媒体加速向媒体融合方向迈进,在三网融合等政策推动以及视频云技术.互动技术.大数据分析等新技术加速应用的背景下,无视频,不网络,短视频成为最重要的信息载体之一.构建高效 ...

  3. 短视频平台开发,将图片、视频保存到本地的相册中

    短视频平台开发,将图片.视频保存到本地的相册中实现的相关代码 获取本地相册 - (IBAction)goodsButton1Touch:(id)sender {//拿到获取相册的权限if([UIIma ...

  4. 短视频平台开发,首先要搭建短视频框架

    科技发展,技术进步,音视频异军突起.无视频,不网络,短视频成为最重要的信息载体之一,是互联网核心组成部分.如何进行短视频平台开发,是慎之又慎的问题.从架构的角度,探讨短视频平台的构建与技术选型问题.从 ...

  5. 短视频app源码开发,短视频平台框架搭建

    科技发展,技术进步,音视频异军突起.无视频,不网络,短视频成为最重要的信息载体之一,是互联网核心组成部分.构建高效的短视频app源码,是慎之又慎的问题.从架构的角度,探讨短视频app源码的构建与技术选 ...

  6. 劣势者效应下,B站等短视频平台UP主“卖惨”吸睛又吸金?

    图片来源于网络 文|陈小江 来源 | 螳螂财经(ID:TanglangFin) 如果被人卖了,还在帮人数钱,是不是觉得很可悲? 不,有人会觉得你很无情! 最近,B站一位自称"癌症晚期&quo ...

  7. 网易MCtalk Live:漫谈短视频平台概况,全面解读头部内容

    章少轩 网易薄荷直播产品经理,前花椒直播内容方向产品经理 对明星.PGC直播及短视频内容的商业变现有独到见解 作者简介 从开眼.V电影,到秒拍.美拍,再到快手.抖音,各类短视频APP层出不穷.当大量猎 ...

  8. 玩玩短视频平台和网课平台开发1——腾讯云对象储存COS的初步配置

    近一两年来,抖音.快手等以短视频为手段的社交工具红遍了大江南北,腾讯也推出了"微视"平台,希望分一杯羹:传统的直播平台如:斗鱼直播.虎牙直播就更不用说了,甚至涌现了许多主打&quo ...

  9. 全网首创Python某短视频平台百叶窗短视频卡点自动混剪第1版

    最近朋友发给我一个某短视频平台的视频问我程序能不能做,于是乎打开电脑先瞅瞅. 这模板居然要6块钱,而且音乐.片段都限制太死了.不好不好,然后这视频看了几遍花了2个晚上搞出来一套Python全程素材内容 ...

最新文章

  1. Map集合练习之对字符串中字母出现的次数求和
  2. 无根树转有根树的一般方法
  3. 怎么解决tomcat占用8080端口问题
  4. Oracle之自治事务
  5. 结对编程1-基于GUI的四则运算生成器
  6. 关于AE大数据点文件读取生成SHP文件时使用IFeatureBuffer快速提高读取效率
  7. 又有微软AI科学家流向产业,小鹏汽车迎来视觉感知负责人郭彦东
  8. java web编码详解_Java Web 之编解码分析
  9. (二)面向对象设计原则
  10. 高中计算机评课,高中信息技术优质课评课范文
  11. 【Beta】 第二次Daily Scrum Meeting
  12. [Eclipse]GEF入门系列(二、GEF概述)
  13. Flink之DataSet迭代计算
  14. spdlog日志安装与使用
  15. 孙溟㠭(展)为秘鲁总统夫人‘埃莲娜卡尔普托莱多’女士治名章篆刻印章
  16. 立体栅格地图_三维栅格地图构建之二:视差图及点云图 | 学步园
  17. python中redis incr的使用
  18. git 和 phabricator arc 常用 命令解析
  19. MMR: 控制推荐多样性算法
  20. RT-Thread 内存泄漏分析利器 memtrace+ramdump

热门文章

  1. python-列表元素绝对值排序
  2. 2017.06.15-2016.06.18回顾 loc/iloc/ix dataframe相关 oracle无自增去重 correl
  3. 高并发部署策略 多副本服务+nginx均衡负载
  4. Java前端和后端的区别?
  5. 预处理命令不是c语言本身的组成部分,C中的预处理命令
  6. python实现有道词典翻译
  7. 全网最硬核 JVM TLAB 分析 1. 内存分配思想引入
  8. 百度区块链 XuperChain开发教程(第二部分)
  9. C/C++ 项目必读:代码格式化和静态分析检查的一站式工作流 Cpp Linter
  10. 51单片机与ESP8266轻松上手Onenet(二)--onenet AT指令测试