Estoy usando tinify.fromBuffer() y .toBuffer() para comprimir la imagen. Paso un búfer de node.js que estoy creando así: Buffer.from("data:image/png;base64,iVBORw0KGgoA [...]") a tinify.fromBuffer.
Estoy haciendo todo como se describe en la referencia oficial de TinyPNG, pero recibo este error:
C:\programming\zoomino 6\html5help\node_modules\promise-nodeify\index.js:35 later(() => { throw err; }); ^ ClientError: Request is invalid: request body requires key 'source'; request body has unknown keys 'type', 'data'. (HTTP 400/Bad request) at new ClientError (C:\programming\zoomino 6\html5help\node_modules\tinify\lib\tinify\Error.js:44:1) at Function.create (C:\programming\zoomino 6\html5help\node_modules\tinify\lib\tinify\Error.js:37:16) at IncomingMessage.<anonymous> (C:\programming\zoomino 6\html5help\node_modules\tinify\lib\tinify\Client.js:86:59) at IncomingMessage.emit (node:events:402:35) at endReadableNT (node:internal/streams/readable:1343:12) at processTicksAndRejections (node:internal/process/task_queues:83:21) { status: 400 }Aquí está mi código:
const tinify = require("tinify") tinify.key = "ApiKey" const image = "data:image/png;base64,iVBORw0KGgoA [...]" tinify.fromBuffer(Buffer.from(image)).toBuffer(function(error, data) { if(error) throw error console.log(data) })