From 08607e49bb41643f98e49759d20b33699be47251 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Fri, 5 Aug 2022 21:48:28 -0300 Subject: [PATCH] fix(whatsapp.gblib): SEND FILE sending bug. --- packages/basic.gblib/dialogs/HearDialog.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/basic.gblib/dialogs/HearDialog.ts b/packages/basic.gblib/dialogs/HearDialog.ts index 05cdb43c..6e9d0f21 100644 --- a/packages/basic.gblib/dialogs/HearDialog.ts +++ b/packages/basic.gblib/dialogs/HearDialog.ts @@ -54,18 +54,28 @@ export class HearDialog { const url = attachment.contentUrl; - const localFolder = Path.join('work', 'dev-rodriguez.gbai', 'uploads'); + const localFolder = Path.join('work'); // TODO: , '${botId}', 'uploads'); const localFileName = Path.join(localFolder, attachment.name); try { + + let response; + if (url.startsWith('data:')){ + var regex = /^data:.+\/(.+);base64,(.*)$/; + var matches = url.match(regex); + var ext = matches[1]; + var data = matches[2]; + response = Buffer.from(data, 'base64'); + } + else{ // arraybuffer is necessary for images const options = { url: url, method: 'GET', encoding: 'binary', }; - let response = await request.get(options); - + response = await request.get(options); + } fs.writeFile(localFileName, response, (fsError) => { if (fsError) {