进网站( https://tinypng.com)后先点击 developer api ,这里提供几种方式安装,我们选择node.js 方式安装 :
npm install --save tinify
这里需要取得api_key,因为网站上有相关如何获取api这里就不介绍如果和获取api_key新建一个tini的文件夹,里面新建tini.js,代码如下:
var fs = require("fs") //node文件模块
var paths = require("path") //文件路径
var root = paths.join(__dirname+'/daizhuanhuan')//daizhuanhuan文件夹放入你要压缩的图像
const tinify = require("tinify"); //获取tinify模块
tinify.key = "你的API_KEY"; //设置你的api_key
readDirSync(root)
function readDirSync(path){
var pa = fs.readdirSync(path);
pa.forEach(function(ele,index){ //遍历daizhuanhuan整个文件夹
var info = fs.statSync(path+"/"+ele)
if(info.isDirectory()){
console.log("dir: "+ele)
readDirSync(path+"/"+ele);
if (!fs.existsSync("./zhuanhou/"+ele)) { //在转换后的文件夹里新建一样的
fs.mkdirSync("./zhuanhou/"+ele);
}
}else{
var io = paths.resolve(path+"/"+ele, '..')
console.log(io.replace("daizhuanhuan","zhuanhou")+"/"+ele)
console.log("file: "+ele)
console.log(path+"/"+ele)
const source = tinify.fromFile(path+"/"+ele); //遍历上传图像文件
source.toFile(io.replace("daizhuanhuan","zhuanhou")+"/"+ele); //压缩后文件
}
})
}
再在tini文件夹下新建daizhuanhuan文件夹放置你要压缩的图像文件,也可以将整个资源文件夹放入,但是资源文件里只能包含png或jpg文件,切记。再新建一个名zhuanhou文件夹,终端tini文件夹执行
node tini.js
这样会在zhuanhou文件夹下生成和daizhuanhuan后一模一样的资源文件夹路径网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?