mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-16 12:12:55 -06:00
fix(media): improve media download handling for base64 conversion
- Enhanced the logic for converting media messages to base64 by adding a retry mechanism for downloading media if the initial buffer is not available. - This change ensures that media messages are reliably converted to base64 format, improving the robustness of media handling in the WhatsApp integration service. - Updated error logging to capture issues during the media conversion process.
This commit is contained in:
parent
7cccda10bb
commit
624b37e2aa
@ -1389,7 +1389,24 @@ export class BaileysStartupService extends ChannelStartupService {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
messageRaw.message.base64 = buffer ? buffer.toString('base64') : undefined;
|
if (buffer) {
|
||||||
|
messageRaw.message.base64 = buffer.toString('base64');
|
||||||
|
} else {
|
||||||
|
// retry to download media
|
||||||
|
const buffer = await downloadMediaMessage(
|
||||||
|
{ key: received.key, message: received?.message },
|
||||||
|
'buffer',
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
logger: P({ level: 'error' }) as any,
|
||||||
|
reuploadRequest: this.client.updateMediaMessage,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (buffer) {
|
||||||
|
messageRaw.message.base64 = buffer.toString('base64');
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error(['Error converting media to base64', error?.message]);
|
this.logger.error(['Error converting media to base64', error?.message]);
|
||||||
}
|
}
|
||||||
@ -2373,7 +2390,24 @@ export class BaileysStartupService extends ChannelStartupService {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
messageRaw.message.base64 = buffer ? buffer.toString('base64') : undefined;
|
if (buffer) {
|
||||||
|
messageRaw.message.base64 = buffer.toString('base64');
|
||||||
|
} else {
|
||||||
|
// retry to download media
|
||||||
|
const buffer = await downloadMediaMessage(
|
||||||
|
{ key: messageRaw.key, message: messageRaw?.message },
|
||||||
|
'buffer',
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
logger: P({ level: 'error' }) as any,
|
||||||
|
reuploadRequest: this.client.updateMediaMessage,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (buffer) {
|
||||||
|
messageRaw.message.base64 = buffer.toString('base64');
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error(['Error converting media to base64', error?.message]);
|
this.logger.error(['Error converting media to base64', error?.message]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user