diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-03-04 16:51:07 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-04 16:51:07 +0900 |
| commit | 2d551a8598de12210ddb7f708561e51867ce3f10 (patch) | |
| tree | 59fea9e7a025693814b8e5e596dc2c43e6464034 /packages/backend/src/misc | |
| parent | fix(server): DriveFile related N+1 query when call note packMany (again) (#10... (diff) | |
| download | misskey-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')
| -rw-r--r-- | packages/backend/src/misc/correct-filename.ts | 15 |
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}`; +} |