操作
Bug(バグ) #2864
未完了OpenPNE 2 からコンバートされたか、管理画面からアップロードされた画像が常に JPEG として表示されてしまう箇所がある
開始日:
2012-03-08
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)
説明
Overview (現象)¶
OpenPNE 2 からコンバートされたものか、管理画面からアップロードされた画像が常に JPEG として表示されてしまう箇所がある。
Causes (原因)¶
image_tag_sf_image()
の第一引数にファイル名を与えた場合、元ソースがファイルのフォーマット部分に応じた画像ファイルであるとみなし、変換処理をおこなう。ファイル名は _[拡張子]
で終わる形式 (OpenPNE 3 の随所で画像アップロードをした場合に作成される形式) を想定している。
しかし、 OpenPNE 2 からコンバートされた画像や、管理画面からアップロードされた画像のファイル名は .[拡張子]
で終了しているため、この形式の推測に失敗し、常に JPEG 画像として表示をおこなってしまう。
Way to fix (修正内容)¶
以下の方針が考えられる。
1.image_tag_sf_image()
の現状のアプローチを維持する案
- 極力ファイル名からの推測をおこなわないよう、
image_tag_sf_image()
の第一引数に File クラスのインスタンスを渡すように変更する - ただ、漏れの可能性がありうることと、コア以外のコール部分については変更をおこなえないので、
.[拡張子]
でファイル名が与えられた場合でも期待通りの変換がおこなえるように修正する
2.image_tag_sf_image()
のアプローチを変更する案 - ファイル名が与えられた場合でも、ファイル名からのフォーマットの推測をおこなわないように修正する
操作