Transcode link preview images
This commit is contained in:
parent
fd610a6300
commit
40f16b98e2
2 changed files with 33 additions and 18 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
import type { RequestInit, Response } from 'node-fetch';
|
||||
import type { AbortSignal as AbortSignalForNodeFetch } from 'abort-controller';
|
||||
import { blobToArrayBuffer } from 'blob-util';
|
||||
|
||||
import type { MIMEType } from '../types/MIME';
|
||||
import {
|
||||
|
@ -14,6 +15,7 @@ import {
|
|||
stringToMIMEType,
|
||||
} from '../types/MIME';
|
||||
import type { LoggerType } from '../types/Logging';
|
||||
import { scaleImageToLevel } from '../util/scaleImageToLevel';
|
||||
import * as log from '../logging/log';
|
||||
|
||||
const USER_AGENT = 'WhatsApp/2';
|
||||
|
@ -603,5 +605,20 @@ export async function fetchLinkPreviewImage(
|
|||
return null;
|
||||
}
|
||||
|
||||
// Scale link preview image
|
||||
if (contentType !== IMAGE_GIF) {
|
||||
const dataBlob = new Blob([data], {
|
||||
type: contentType,
|
||||
});
|
||||
const { blob: xcodedDataBlob } = await scaleImageToLevel(
|
||||
dataBlob,
|
||||
contentType,
|
||||
false
|
||||
);
|
||||
const xcodedDataArrayBuffer = await blobToArrayBuffer(xcodedDataBlob);
|
||||
|
||||
data = new Uint8Array(xcodedDataArrayBuffer);
|
||||
}
|
||||
|
||||
return { data, contentType };
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue