概要
App.SaveAutoImage で、出力形式と保存パスの拡張子の整合性を検証する。
変更内容
app_save.go の SaveAutoImage(isPng bool, savePath string) で、a.handler.prepareSave を呼び出す前に ensureValidExtension(savePath, isPng) を実行する。
理由
現在の実装は isPng から MIME タイプを決定するが、savePath の拡張子を検証しない。このため、PNG データを .jpg として、または JPEG データを .png として保存できる。
対象箇所
app_save.go
App.SaveAutoImage
受け入れ基準
SaveAutoImage は prepareSave の前に ensureValidExtension(savePath, isPng) を呼び出す。
- 拡張子がない保存パスには、形式に対応する拡張子を追加する。
- 形式と一致しない拡張子の保存パスでは、エラーを返す。
- MIME タイプの選択と
a.handler == nil の既存チェックを維持する。
SaveAutoImage の拡張子検証を確認するテストを追加または更新する。
関連
概要
App.SaveAutoImageで、出力形式と保存パスの拡張子の整合性を検証する。変更内容
app_save.goのSaveAutoImage(isPng bool, savePath string)で、a.handler.prepareSaveを呼び出す前にensureValidExtension(savePath, isPng)を実行する。理由
現在の実装は
isPngから MIME タイプを決定するが、savePathの拡張子を検証しない。このため、PNG データを.jpgとして、または JPEG データを.pngとして保存できる。対象箇所
app_save.goApp.SaveAutoImage受け入れ基準
SaveAutoImageはprepareSaveの前にensureValidExtension(savePath, isPng)を呼び出す。a.handler == nilの既存チェックを維持する。SaveAutoImageの拡張子検証を確認するテストを追加または更新する。関連