keep extension from file when generating random name (#127)

* keep extension from file when generating random name

* added test for random name generation
This commit is contained in:
dswbx
2025-04-01 13:24:32 +02:00
committed by GitHub
parent 2f067451b4
commit 9134d121cd
2 changed files with 6 additions and 1 deletions

View File

@@ -96,5 +96,10 @@ describe("media/mime-types", () => {
`getRandomizedFilename(): ${filename} should end with ${ext}`, `getRandomizedFilename(): ${filename} should end with ${ext}`,
).toBe(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");
}); });
}); });

View File

@@ -19,7 +19,7 @@ export function getRandomizedFilename(file: File | string, length = 16): string
} }
let ext = getExtensionFromName(filename); let ext = getExtensionFromName(filename);
if (isFile(file) && file.type) { if (!ext && isFile(file) && file.type) {
const _ext = extension(file.type); const _ext = extension(file.type);
if (_ext.length > 0) ext = _ext; if (_ext.length > 0) ext = _ext;
} }