From 2d551a8598de12210ddb7f708561e51867ce3f10 Mon Sep 17 00:00:00 2001 From: tamaina Date: Sat, 4 Mar 2023 16:51:07 +0900 Subject: enhance(server): downloadUrlでContent-Dispositionからファイル名を取得 (#10150) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(server): downloadUrlでContent-Dispositionからファイル名を取得 Resolve #10036 Resolve #4750 * untitled * オブジェクトストレージのContent-Dispositionのファイル名の拡張子をContent-Typeに添ったものにする * :v: * tiff * fix filename * add test * /files/でもContent-Disposition * comment * fix test --- packages/backend/src/misc/correct-filename.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 packages/backend/src/misc/correct-filename.ts (limited to 'packages/backend/src/misc') diff --git a/packages/backend/src/misc/correct-filename.ts b/packages/backend/src/misc/correct-filename.ts new file mode 100644 index 0000000000..8dcce6df75 --- /dev/null +++ b/packages/backend/src/misc/correct-filename.ts @@ -0,0 +1,15 @@ +// 与えられた拡張子とファイル名が一致しているかどうかを確認し、 +// 一致していない場合は拡張子を付与して返す +export function correctFilename(filename: string, ext: string | null) { + const dotExt = ext ? `.${ext}` : '.unknown'; + if (filename.endsWith(dotExt)) { + return filename; + } + if (ext === 'jpg' && filename.endsWith('.jpeg')) { + return filename; + } + if (ext === 'tif' && filename.endsWith('.tiff')) { + return filename; + } + return `${filename}${dotExt}`; +} -- cgit v1.2.3-freya