node解压压缩包以及压缩图片

首先保证电脑安装node环境,下载地址:http://nodejs.cn

//可以打开一个dos窗口输入node -v进行确认是否安装成功
C:\ > node -v
> v10.*

  

然后就是安装解压压缩包的第三方插件 和 tinypng的插件

npm install compressing //解压压缩包的第三方插件
npm isntall tinify //解压图片的压缩

如何使用?

解压压缩包,这里以解压tgz格式的压缩包为例,compressing的API:https://www.npmjs.com/package/compressing

var compressing = require("compressing")
let nowFilePath = "01.tgz" //当前目录下解压的文件名
let positionFilePath = "01"//需要解压到当前目录下的目录名
compressing.tgz.uncompress(nowFilePath, positionFilePath)
.then(() => {
console.log(nowFilePath + "解压完成")
})
.catch(err => {
console.log("解压失败:"+err);
})

使用递归的方法去解压多个压缩包

//定义一个函数
function decompressionFiles(files,length){
if(length==0){
//在这里我们确定压缩包全部解压后可以操作的事情
return console.log("没有找到压缩包,或压缩已完成!")
}
let positionFilePath=files.replace(".tgz","")
compressing.tgz.uncompress(files[length-1], positionFilePath)
.then(() => {
console.log(nowFilePath + "解压完成")
decompressionFiles(files,length-1)
})
.catch(err => {
console.log("解压失败:"+err);
})
} var fileArray=["01.tgz","02.tgz","03.tgz","04.tgz"] //在这里假设是当前目录下的01.tgz等压缩包 //在这里我们只需调用函数即可
decompressionFiles(fileArray,fileArray.length)

压缩图片[tinify的API](https://www.npmjs.com/package/tinify)(熊猫压缩)[申请key](https://tinypng.com/developers)

var tinify = require("tinify");
var path= require("path");
tinify.key = "YOUR<em>API</em>KEY"; //这里需要填写你在熊猫注册的key,只需要一个邮箱即可
let nowFilePath = path.join(<strong>dirname,"01.jpg") //假设是当前目录下的01.jpg
let filePositionPath = path.join(</strong>dirname,"image","02.jpg") //把它解压到当前目录下的image文件夹里,并命名为02.jpg
tinify.fromFile(nowFilePath).toFile(filePositionPath)
.then(()=>{
console.log(nowFilePath + "解压完成")
}).catch(err=>{
console.log("解压失败:"+err);
})
//当然如果压缩多张图片也可以使用递归的方式去处理。如果图片数量多的话,压缩时间会有点慢,还有拓展的空间。

  

node解压压缩包以及压缩图片的更多相关文章

  1. shell 命令 tar -zxvf 解压 tar -zcvf 压缩

    tar -zxvf 解压 tar -zcvf 压缩

  2. java关于压缩包的处理,我这里贴出三中格式的(zip,rar,tar)解压方法(目前只用到解压,所以压缩过多研究)。

    1.首先我们先来说下为什么会有这三中格式: (1)rar格式:rar格式是最先出现的压缩方式,它主要是用于商业机构一些文件的压缩,它可以根据不同公司的要求,去设定制定不同的压缩算法,这种算法是不对外公 ...

  3. linux 如何对文件解压或打包压缩

    tar命令用与对文件打包压缩或解压,格式: tar [选项] [文件] 打包并压缩文件: tar -czvf  压缩包名 .tar.gz 解压并展开压缩包: tar -xzvf  压缩包名 .tar. ...

  4. Linux下常用压缩 解压命令和压缩比率对比

    常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

  5. java调用7zip解压压缩包

    前言 最近的项目中需要用到解压缩包的功能,客户给出的压缩包的格式主要是rar和zip,因此就打算使用java调用7zip的命令行进行解压文件,本文主要记录一下实现的过程以及其中遇到的问题. 7zip命 ...

  6. Linux下常用压缩 解压命令与压缩比率对比

    常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

  7. 浅谈Linux下各种压缩 解压命令和压缩比率对比

    Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.rar .zip格式. 比如,Linux下常用的tar tar.gz tar.bz2 .Z等等不一而 ...

  8. 【转】Linux下常用压缩 解压命令和压缩比率对比

    https://www.cnblogs.com/joshua317/p/6170839.html 常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU ...

  9. PHP解压压缩包文件到指定目录的实现

    $src_file为文件路径,上传文件返回压缩包路径即可 public function unzip($src_file, $dest_dir=false, $create_zip_name_dir= ...

随机推荐

  1. Java实现 LeetCode 93 复原IP地址

    93. 复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11. ...

  2. 第四届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.世纪末星期 题目描述 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如 ...

  3. Go语言json编码驼峰转下划线、下划线转驼峰

    目录 一.需求 二.实现 三.使用 JsonSnakeCase统一转下划线json JsonSnakeCase统一转驼峰json 一.需求 golang默认的结构体json转码出来,都是大写驼峰的,并 ...

  4. DOM 元素的循环遍历

    ​博客地址:https://ainyi.com/89​ 获取 DOM 元素的几种方式 get 方式: getElementById getElementsByTagName getElementsBy ...

  5. ubuntu18.04安装qt时候的错误解决

    在ubuntu系统下安装好qt5.5后启动qtceator时提示: Qt5.5.1/Tools/QtCreator/lib/qtcreator/plugins/libHelp.so: 无法加载库Qt5 ...

  6. DeDecms远程写入漏洞webshell (dedecms漏洞)

    解释下Apache解析文件的流程: 当Apache检测到一个文件有多个扩展名时,如1.php.bak,会从右向左判断,直到有一个Apache认识的扩展名.如果所有的扩展名Apache都不认识,那么变会 ...

  7. PHP 直接插入排序

    php数组下标从0开始,所以第一步就是数组长度加1,数组元素全部后移一位,把下标0对应值设置为哨兵.结果顺序排序完成后,删除哨兵. function insert_sort($arr) { //这里可 ...

  8. flex弹性模型

    flex模型是w3c最新提出的一种盒子模型,很好的解决了普通模型的一些弊端. 一.比较两种盒子模型: demo: 给div添加边框,观察他们的区别 <body> <div class ...

  9. django OperationalError: unable to open database file 创建数据库

  10. Java 根据地图定位坐标推荐附近的目标地址(直线距离)

    这两天需要在公众号上面做一个关于根据地图当前定位与目标地址直线距离远近推荐的查询,一开始摸不着头脑,现已解决,mark一下 现有的材料:当前用户手机端的通过微信定位的经纬度坐标.数据表中保存有场地的定 ...