node解压压缩包以及压缩图片
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解压压缩包以及压缩图片的更多相关文章
- shell 命令 tar -zxvf 解压 tar -zcvf 压缩
tar -zxvf 解压 tar -zcvf 压缩
- java关于压缩包的处理,我这里贴出三中格式的(zip,rar,tar)解压方法(目前只用到解压,所以压缩过多研究)。
1.首先我们先来说下为什么会有这三中格式: (1)rar格式:rar格式是最先出现的压缩方式,它主要是用于商业机构一些文件的压缩,它可以根据不同公司的要求,去设定制定不同的压缩算法,这种算法是不对外公 ...
- linux 如何对文件解压或打包压缩
tar命令用与对文件打包压缩或解压,格式: tar [选项] [文件] 打包并压缩文件: tar -czvf 压缩包名 .tar.gz 解压并展开压缩包: tar -xzvf 压缩包名 .tar. ...
- Linux下常用压缩 解压命令和压缩比率对比
常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...
- java调用7zip解压压缩包
前言 最近的项目中需要用到解压缩包的功能,客户给出的压缩包的格式主要是rar和zip,因此就打算使用java调用7zip的命令行进行解压文件,本文主要记录一下实现的过程以及其中遇到的问题. 7zip命 ...
- Linux下常用压缩 解压命令与压缩比率对比
常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...
- 浅谈Linux下各种压缩 解压命令和压缩比率对比
Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.rar .zip格式. 比如,Linux下常用的tar tar.gz tar.bz2 .Z等等不一而 ...
- 【转】Linux下常用压缩 解压命令和压缩比率对比
https://www.cnblogs.com/joshua317/p/6170839.html 常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU ...
- PHP解压压缩包文件到指定目录的实现
$src_file为文件路径,上传文件返回压缩包路径即可 public function unzip($src_file, $dest_dir=false, $create_zip_name_dir= ...
随机推荐
- Java实现第九届蓝桥杯倍数问题
倍数问题 题目描述 [题目描述] 众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数.但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼.现在小葱给了你 n 个数,希望你从这 n ...
- java实现第七届蓝桥杯阶乘位数
阶乘位数 阶乘位数 9的阶乘等于:362880 它的二进制表示为:1011000100110000000 这个数字共有19位. 请你计算,9999 的阶乘的二进制表示一共有多少位? 注意:需要提交的是 ...
- (数据科学学习手札86)全平台支持的pandas运算加速神器
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 随着其功能的不断优化与扩充,pandas已然成为 ...
- 一篇关于Android M以后权限介绍的不错的文章
文章地址:http://www.jianshu.com/p/e1ab1a179fbb/
- hibernate中的映射
hibernate中的映射是指Java类和数据库表中的属性来进行关联,然后通过类来操作数据库中,这就是简单的映射.
- 区分http请求状态码来理解缓存(协商缓存和强制缓存)
什么是http缓存呢,当我们使用chrome浏览器,按F12打开控制台,在网络请求中有时候看到状态码是200,有时候状态码是304,当我们去看这种请求的时候,我们会发现状态码为304的状态结果是:St ...
- 如何安装 Sublime text 编辑器相关的插件
Sublime是一个伟大的编辑器,具有可靠的基础功能,使编写代码变得愉快.您可以安装一个包管理器,以便于安装插件和添加新功能. 为什么使用包管理器(package manager) 包管理器可以方便地 ...
- 关联函数-web_save_param_length
int web_save_param_length(const char * Param,const char * Base,LAST); 参数说明: Param:保存长度的参数的名称. Base:参 ...
- Jenkins登录无效
解决办法: 进入Jenkins安装目录: 1:进入D:\jenkins\users\admin 这个目录下找到config.xml 可以看到里面的用户名是admin 2:进入D:\jenkins\s ...
- 一篇看懂Docker
松勤教育2020.4.20 我要分享 Docker 是什么? Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Dock ...