拡張子内にドットを2つまで許容するものを追加する仕様に変更

This commit is contained in:
kakkokari-gtyih 2024-04-13 19:04:21 +09:00
parent f3a7b48dfd
commit 754bb92a68

View file

@ -29,24 +29,30 @@ const mimeTypeMap = {
'image/png': 'png', 'image/png': 'png',
} as const; } as const;
// tar.gzなど、拡張子内にドットが含まれるものはここに追加 // tar.gzなど、拡張子内にドットを2つまで許容するものはここに追加
const specialExtensions = [ const specialExtensions = [
'tar.gz', 'gz',
'tar.bz2', 'bz2',
'tar.xz', 'xz',
'tar.zst', 'zst',
'tar.lz', 'lz',
'tar.lz4', 'lz4',
'tar.sz', 'sz',
'tar.z', 'z',
'zstd',
] as const; ] as const;
function getExtension(filename: string): string { function getExtension(filename: string): string {
for (const ext of specialExtensions) {
if (filename.endsWith('.' + ext)) return '.' + ext;
}
const parts = filename.split('.'); const parts = filename.split('.');
return parts.length > 1 ? '.' + parts.pop()! : '';
if (parts.length <= 1) return '';
for (const ext of specialExtensions) {
if (parts[parts.length - 1] === ext && parts.length > 2) {
return '.' + parts[parts.length - 2] + '.' + parts[parts.length - 1];
}
}
return '.' + parts.pop();
} }
export function uploadFile( export function uploadFile(