Estoy usando npm install --save tinify
luego cargando mis archivos de imagen usando nodejs pero necesito un archivo .zip comprimido en mi sistema.
Cuando estoy cargando mis archivos de imagen a través del navegador en https://tinypng.com después de cargar, muestra la opción de descarga que es perfecta. Pero, ¿cómo podemos hacer lo mismo a través de nodejs?
Aquí está mi código:
var tinify = require("tinify"); tinify.key = "myRightApiCode"; var fs = require("fs"); fs.readFile("C:/Users/sourav/images/pgL_NA-10005_5.jpg", function(err, sourceData) { if (err) throw err; tinify.fromBuffer(sourceData).toBuffer(function(err, resultData) { if (err) throw err; // ... console.log(resultData); //need compressed file in my system }); });
Puede usar el método de tinify que convierte y escribe la imagen comprimida a la vez:
var sourceFile = tinify.fromFile("uncompressed.jpg"); sourceFile.toFile("compressed.jpg");
Alternativamente, en su método intente:
var tinify = require("tinify"); tinify.key = "myRightApiCode"; var fs = require("fs"); fs.readFile("C:/Users/sourav/images/pgL_NA-10005_5.jpg", function(err, sourceData) { if (err) throw err; tinify.fromBuffer(sourceData).toBuffer(function(err, resultData) { if (err) throw err; fs.writeFile('C:/Users/sourav/images/optimized.jpg', resultData, function (err) { if (err) throw err; console.log('It\'s saved!'); }); }); });
Espero que esto resuelva tu consulta :)