summaryrefslogtreecommitdiff
path: root/packages/backend/src/misc/correct-filename.ts
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-03-04 16:51:07 +0900
committerGitHub <noreply@github.com>2023-03-04 16:51:07 +0900
commit2d551a8598de12210ddb7f708561e51867ce3f10 (patch)
tree59fea9e7a025693814b8e5e596dc2c43e6464034 /packages/backend/src/misc/correct-filename.ts
parentfix(server): DriveFile related N+1 query when call note packMany (again) (#10... (diff)
downloadmisskey-2d551a8598de12210ddb7f708561e51867ce3f10.tar.gz
misskey-2d551a8598de12210ddb7f708561e51867ce3f10.tar.bz2
misskey-2d551a8598de12210ddb7f708561e51867ce3f10.zip
enhance(server): downloadUrlでContent-Dispositionからファイル名を取得 (#10150)
* 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
Diffstat (limited to 'packages/backend/src/misc/correct-filename.ts')
-rw-r--r--packages/backend/src/misc/correct-filename.ts15
1 files changed, 15 insertions, 0 deletions
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}`;
+}