0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?