This commit is contained in:
かっこかり 2024-10-22 00:48:35 +09:00 committed by GitHub
commit f5ba7fb60f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -30,6 +30,32 @@ const mimeTypeMap = {
'image/png': 'png',
} as const;
// tar.gzなど、拡張子内にドットを2つまで許容するものはここに追加
const specialExtensions = [
'gz',
'bz2',
'xz',
'zst',
'lz',
'lz4',
'sz',
'z',
'zstd',
] as const;
function getExtension(filename: string): string {
const parts = filename.split('.');
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(
file: File,
folder?: any,
@ -55,7 +81,7 @@ export function uploadFile(
const reader = new FileReader();
reader.onload = async (): Promise<void> => {
const filename = name ?? file.name ?? 'untitled';
const extension = filename.split('.').length > 1 ? '.' + filename.split('.').pop() : '';
const extension = getExtension(filename);
const ctx = reactive<Uploading>({
id,