HTML
EXIF情報を消してもwebページで画像が勝手に回転して表示されてしまう時の対処

EXIF情報を消してもwebページで画像が勝手に回転

アップした画像がなぜか90度回転してしまう現象が・・・

EXIF情報がーと言う記事を見つけて、消して画像を再アップしてもしても直らず、ちょっと悩んだ時の備忘録。

キャッシュの問題なのか?

EXIF情報を消しても回転するということは、キャッシュかな? と思いキャッシュの削除を行ってアクセスしたが、回転している・・・しかも、回転する端末と回転しない端末が・・・

  • 直接画像ページを開いたら問題ない
  • アップした画像のEXIF情報は消されている
  • 端末によって回転したりしなかったり
  • テスト環境では問題ない
  • テスト環境とHTMLやPHP、javascriptなどの記述は変わっていない

と言うことで、おそらくレンタルしているサーバーの問題かな、と思いつつ調べていると、 直接開いた画像は問題ないけれども、表示しているwebページの画像をドロップしてみると、webp形式になっていることに気付く。

サーバー側の設定で回転することがあるようだ

特定のレンタルサーバーだけで起こるのか分からないので、名前は伏せるが、『高速化機能(サーバーキャッシュ)で、webページでの表示時に画像をwebpに変換してくれる』ようで、webpに変換するときに回転してしまっちゃうみたい。ただ、端末によっては回転してなかったりもする。

スクリプトで無理やり回転させる事も考えたけれども、サーバーでやっていることがいつまでも同じ状態なのかは分からない。

サブドメインでテスト環境を構築していて、そちらでは高速化を切っていたので分かったのだけれども、なかなかの罠だったよ。ちなみに、EXIFがあったとしても、そちらでは正しく表示できていたので、画像変換の問題のようだ。

サーバーのコントロールパネルで早速高速化の設定をオフにした。
が、直らない。なぜ? と思ったら、キャッシュと言うか、変更に時間がかかるようで1日位したらダメだった端末でも正常に表示できるようになった。