From 64791a716088c30cf94c3334b203162ab03401fd Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sat, 24 May 2025 13:59:26 +0900 Subject: fix(frontend): ユーザに表示されるファイル種別と、実際のファイル種別が異なり、ファイルをアップロードすることに失敗することがある問題を修正 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #16091 --- .../frontend/src/components/MkUploaderDialog.vue | 5 +++- packages/frontend/src/pages/admin/roles.editor.vue | 5 +++- packages/frontend/src/pages/admin/roles.vue | 4 +++ packages/frontend/src/utility/drive.ts | 30 ++++++++++++---------- 4 files changed, 28 insertions(+), 16 deletions(-) (limited to 'packages/frontend/src') diff --git a/packages/frontend/src/components/MkUploaderDialog.vue b/packages/frontend/src/components/MkUploaderDialog.vue index 4c928c7f6a..3f5f0776a8 100644 --- a/packages/frontend/src/components/MkUploaderDialog.vue +++ b/packages/frontend/src/components/MkUploaderDialog.vue @@ -73,7 +73,10 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.tsx._uploader.maxFileSizeIsX({ x: $i.policies.maxFileSizeMb + 'MB' }) }}
-
{{ i18n.ts._uploader.allowedTypes }}: {{ $i.policies.uploadableFileTypes.join(', ') }}
+ + + + diff --git a/packages/frontend/src/pages/admin/roles.editor.vue b/packages/frontend/src/pages/admin/roles.editor.vue index 5da969b835..24c3160fdd 100644 --- a/packages/frontend/src/pages/admin/roles.editor.vue +++ b/packages/frontend/src/pages/admin/roles.editor.vue @@ -418,7 +418,10 @@ SPDX-License-Identifier: AGPL-3.0-only - + diff --git a/packages/frontend/src/pages/admin/roles.vue b/packages/frontend/src/pages/admin/roles.vue index c70ae12851..ef6e25685d 100644 --- a/packages/frontend/src/pages/admin/roles.vue +++ b/packages/frontend/src/pages/admin/roles.vue @@ -150,6 +150,10 @@ SPDX-License-Identifier: AGPL-3.0-only + diff --git a/packages/frontend/src/utility/drive.ts b/packages/frontend/src/utility/drive.ts index de473c9b11..f171a4d14d 100644 --- a/packages/frontend/src/utility/drive.ts +++ b/packages/frontend/src/utility/drive.ts @@ -39,20 +39,22 @@ export function uploadFile(file: File | Blob, options: { const filePromise = new Promise((resolve, reject) => { if ($i == null) return reject(); - const allowedMimeTypes = $i.policies.uploadableFileTypes; - const isAllowedMimeType = allowedMimeTypes.some(mimeType => { - if (mimeType === '*' || mimeType === '*/*') return true; - if (mimeType.endsWith('/*')) return file.type.startsWith(mimeType.slice(0, -1)); - return file.type === mimeType; - }); - if (!isAllowedMimeType) { - os.alert({ - type: 'error', - title: i18n.ts.failedToUpload, - text: i18n.ts.cannotUploadBecauseUnallowedFileType, - }); - return reject(); - } + // こっち側で検出するMIME typeとサーバーで検出するMIME typeは異なる場合があるため、こっち側ではやらないことにする + // https://github.com/misskey-dev/misskey/issues/16091 + //const allowedMimeTypes = $i.policies.uploadableFileTypes; + //const isAllowedMimeType = allowedMimeTypes.some(mimeType => { + // if (mimeType === '*' || mimeType === '*/*') return true; + // if (mimeType.endsWith('/*')) return file.type.startsWith(mimeType.slice(0, -1)); + // return file.type === mimeType; + //}); + //if (!isAllowedMimeType) { + // os.alert({ + // type: 'error', + // title: i18n.ts.failedToUpload, + // text: i18n.ts.cannotUploadBecauseUnallowedFileType, + // }); + // return reject(); + //} if ((file.size > instance.maxFileSize) || (file.size > ($i.policies.maxFileSizeMb * 1024 * 1024))) { os.alert({ -- cgit v1.2.3-freya