From 355b76de5cc029a76708bb754c6c4fd72ce99e3d Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+fallenbagel@users.noreply.github.com> Date: Sat, 12 Apr 2025 02:24:13 +0800 Subject: [PATCH] fix(imagecache): fix avatar cache folder creation (#1581) This fixes a regression caused by #1520 which broke the file extension detection thereby breaking avatars --- server/lib/imageproxy.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/lib/imageproxy.ts b/server/lib/imageproxy.ts index 079fcc011..5fe45a152 100644 --- a/server/lib/imageproxy.ts +++ b/server/lib/imageproxy.ts @@ -3,6 +3,7 @@ import axios from 'axios'; import rateLimit, { type rateLimitOptions } from 'axios-rate-limit'; import { createHash } from 'crypto'; import { promises } from 'fs'; +import mime from 'mime/lite'; import path, { join } from 'path'; type ImageResponse = { @@ -269,7 +270,10 @@ class ImageProxy { }); const buffer = Buffer.from(response.data, 'binary'); - const extension = path.split('.').pop() ?? ''; + + const contentType = response.headers['content-type'] || ''; + const extension = mime.getExtension(contentType) || ''; + let maxAge = Number( (response.headers['cache-control'] ?? '0').split('=')[1] );