拡張子内にドットを2つまで許容するものを追加する仕様に変更
This commit is contained in:
parent
f3a7b48dfd
commit
754bb92a68
1 changed files with 19 additions and 13 deletions
|
|
@ -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(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue