LoginSignup
0
1

More than 5 years have passed since last update.

画像投稿でiPhoneから投稿すると縦長が横長になってしまう場合の対応(Laravel + Intervention/Image)

Posted at

写真や画像をアップロードするアプリをLaravel5.4作ってるのですが、iPhoneからアップすると縦だと思ってた写真が横になってアップされてしまうという現象が出ていました。

これはExifというものが問題になっているらしく修正を行ったので手順を書いておきたいと思います。

Exifの詳細はこの辺を参考にさせていただきました。ブラウザとか環境ごとに挙動が異なっていたりするようです。
https://qiita.com/RichardImaokaJP/items/385beb77eb39243e50a6

controllerの修正

僕の場合幸いIntervention/Imageを元から使っていたので、orientate()という関数があることを知りイージーにそれで対応を試みることに。
http://image.intervention.io/

   Image::make('/tmp/'.$name)
          ->resize(700, null, function ($constraint) { $constraint->aspectRatio(); } )
           ->save('/tmp/'.$regular_name);

みたいなコードをcontrollerの書いてたので、
ここにorientate()を処理に追加すれば大丈夫そう。

   Image::make('/tmp/'.$name)
     ->resize(700, null, function ($constraint) { $constraint->aspectRatio(); } )
    ->orientate()
     ->save('/tmp/'.$regular_name);

と追加。
で試してみるとエラー。

ext-exifの追加

ExifがPHP側で必要みたいなので

Composer.jsonに
"ext-exif":"*"
を追加。

"require": {
-省略-
"ext-exif":"*"
},

コンソールから
Composer update

Herokuへもアップ。
Git push heroku master

ローカル環境とHeroku、両方問題なく動いています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1