From 9bfbd63f05d21b51f7fd726fc4c16949919529a0 Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Tue, 20 Sep 2022 15:33:01 -0400 Subject: Fixes processing of images in Netlify functions (#4820) --- packages/integrations/netlify/src/netlify-functions.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'packages/integrations/netlify/src/netlify-functions.ts') diff --git a/packages/integrations/netlify/src/netlify-functions.ts b/packages/integrations/netlify/src/netlify-functions.ts index d40254f96..c6b253b0d 100644 --- a/packages/integrations/netlify/src/netlify-functions.ts +++ b/packages/integrations/netlify/src/netlify-functions.ts @@ -36,6 +36,7 @@ export const createExports = (manifest: SSRManifest, args: Args) => { 'image/bmp', 'image/gif', 'image/vnd.microsoft.icon', + 'image/heif', 'image/jpeg', 'image/png', 'image/svg+xml', @@ -84,9 +85,13 @@ export const createExports = (manifest: SSRManifest, args: Args) => { const responseContentType = parseContentType(responseHeaders['content-type']); const responseIsBase64Encoded = knownBinaryMediaTypes.has(responseContentType); - const responseBody = responseIsBase64Encoded - ? Buffer.from(await response.text(), 'binary').toString('base64') - : await response.text(); + let responseBody: string; + if(responseIsBase64Encoded) { + const ab = await response.arrayBuffer(); + responseBody = Buffer.from(ab).toString('base64'); + } else { + responseBody = await response.text(); + } const fnResponse: any = { statusCode: response.status, -- cgit v1.2.3