diff --git a/packages/open-next/src/adapters/cache.ts b/packages/open-next/src/adapters/cache.ts index c87d8e9a..5b6ba2bb 100644 --- a/packages/open-next/src/adapters/cache.ts +++ b/packages/open-next/src/adapters/cache.ts @@ -228,9 +228,9 @@ export default class S3Cache { kind: "ROUTE", body: Buffer.from( cacheData.body ?? Buffer.alloc(0), - meta?.headers?.["content-type"]?.includes("application/json") - ? "utf8" - : "base64", + String(meta?.headers?.["content-type"]).startsWith("image") + ? "base64" + : "utf8", ), status: meta?.status, headers: meta?.headers, @@ -282,7 +282,9 @@ export default class S3Cache { JSON.stringify({ type: "route", body: body.toString( - headers["content-type"] === "application/json" ? "utf8" : "base64", + String(headers["content-type"]).startsWith("image") + ? "base64" + : "utf8", ), meta: { status, diff --git a/packages/open-next/src/build.ts b/packages/open-next/src/build.ts index 8eab24a2..3a39d460 100755 --- a/packages/open-next/src/build.ts +++ b/packages/open-next/src/build.ts @@ -509,9 +509,9 @@ function createCacheAssets(monorepoRoot: string, disableDynamoDBCache = false) { ? fs .readFileSync(files.body) .toString( - cacheFileMeta.headers["content-type"] === "application/json" - ? "utf8" - : "base64", + cacheFileMeta.headers["content-type"].startsWith("image") + ? "base64" + : "utf8", ) : undefined, };