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. PAT 说反话

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...

  2. jstat监控JVM内存使用、GC回收情况

    jstat -gcutil 2388 3000 6 每隔3秒打印一次pid为2388的堆内存的使用情况,共打印6次 S0— Heap上的 Survivor space 0 区已使用空间的百分比 S1  ...

  3. 温故知新-多线程-深入刨析park、unpark

    文章目录 摘要 park.unpark 看一下hotspot实现 参考 你的鼓励也是我创作的动力 Posted by 微博@Yangsc_o 原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | ...

  4. ubuntu安装ssh服务器

    1.安装 sudo apt-get install openssh-server 2.配置文件路径 / etc/ssh/sshd_config 3.操作 sudo /etc/init.d/ssh st ...

  5. netty实现消息中心(一)思路整理

    一.需求 需要实现直播间的以下功能: 群发消息(文本.图片.推荐商品) 点对点私发消息(文本.图片.推荐商品) 单个用户禁言 全体用户禁言 撤回消息 聊天记录持久化 二.技术实现 服务端消息中心采用n ...

  6. [AGC034F]RNG and XOR

    题目   点这里看题目. 分析   第一步可以将\(A\)数组转化成概率\(P(j)\):每一步操作异或\(j\)的概率.   接着发现,\(x\)从\(0\)变成\(i\)的期望等于\(x\)从\( ...

  7. 排队I(替换两层复杂for循环、避免TLE)

    问题 C: 排队I(点击) 时间限制: 1 Sec  内存限制: 128 MB                                                             ...

  8. Shiro反序列化复现

    Shiro反序列化复现 ——————环境准备—————— 目标靶机:10.11.10.108 //docker环境 攻击机ip:无所谓 vpsip:192.168.14.222 //和靶机ip可通 1 ...

  9. LaTeX中常用代码段snippets(持续更新)

    1.displaymath 单行数学环境,不带编号. \begin{displaymath} This\ is\ displaymath\ envirment.\ I\ don 't\ have\ a ...

  10. Spring Cloud Alibaba系列(四)使用gateway作为服务网关

    什么是网关 在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计.开发.测试.部署和管理.这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计, ...