From 9134d121cdd6da8eeb6e6904df3f2e6917557cfc Mon Sep 17 00:00:00 2001 From: dswbx Date: Tue, 1 Apr 2025 13:24:32 +0200 Subject: [PATCH] keep extension from file when generating random name (#127) * keep extension from file when generating random name * added test for random name generation --- app/__test__/media/mime-types.spec.ts | 5 +++++ app/src/media/utils/index.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/__test__/media/mime-types.spec.ts b/app/__test__/media/mime-types.spec.ts index 37f29a8..dd13f7c 100644 --- a/app/__test__/media/mime-types.spec.ts +++ b/app/__test__/media/mime-types.spec.ts @@ -96,5 +96,10 @@ describe("media/mime-types", () => { `getRandomizedFilename(): ${filename} should end with ${ext}`, ).toBe(ext); } + + // make sure it keeps the extension, even if the file has a different type + const file = new File([""], "image.jpg", { type: "text/plain" }); + const [, ext] = getRandomizedFilename(file).split("."); + expect(ext).toBe("jpg"); }); }); diff --git a/app/src/media/utils/index.ts b/app/src/media/utils/index.ts index 575fd1a..d9867db 100644 --- a/app/src/media/utils/index.ts +++ b/app/src/media/utils/index.ts @@ -19,7 +19,7 @@ export function getRandomizedFilename(file: File | string, length = 16): string } let ext = getExtensionFromName(filename); - if (isFile(file) && file.type) { + if (!ext && isFile(file) && file.type) { const _ext = extension(file.type); if (_ext.length > 0) ext = _ext; }