利用fs遍历图片,使用tinify压缩

发布 : 2017-05-12 分类 : nodejs

1. 官方站点提供了常规调用方法

安装:

1
npm install --save tinify

调用:

1
2
var tinify = require('tinify');
tinify.key='your key ';

这个是提供邮箱即可获得秘钥,在此我就不贴出来了,秘钥链接:https://tinypng.com/developers

收到邮件后,点击即可获取(可能在垃圾邮件中)

压缩操作:

1
2
var source = tinify.fromFile("unoptimized.jpg");
source.toFile("optimized.jpg");

2. 利用fs获得文件数组

但是,只提供一次操作一个文件,比较繁复.于是利用node自带的fs文件系统模块,获取到文件,并遍历操作

fs.readdir() 异步获取
fs.readdirSync() 同步获取
该函数传参数为文件夹名,返回值均为文件名数组,因为在本地操作,而且是需要获取到图片后才操作,所以选择同步获取

代码如下:

1
2
3
4
5
6
fileNameArr = fs.readdirSync('img');

fileNameArr.forEach(function(fileName){
    source = tinify.fromFile("img/"+fileName);
    source.toFile("a/"+fileName);
});

这样就好了.

本文作者 : 萧逸雨
原文链接 : http://qiubo.ink/2017/05/12/e5-88-a9-e7-94-a8fs-e9-81-8d-e5-8e-86-e5-9b-be-e7-89-87-e4-bd-bf-e7-94-a8tinify-e5-8e-8b-e7-bc-a9/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!