スマホからアップロードしようとするとスマホで撮影した画像ファイルのサイズが大きいので大体エラーになります。クライアント側で縮小しつつ、向きも合わせるとう処理が必須であります。
画像アップロード前にクライアント側で縮小してプレビューし、アップロード
ここにそのまんまのことが書いてあります。ありがたい。これをやってみたいと思います。幅・高さの最大値を決めてそれより大きい場合縮小するということをしてます。iPhoneの対策なんかもしております。リサイズしたものをFormdataにいれてAjaxで登録しております。
FormDataからFormに書き込むことはできないらしい。ということはAjax不要のFormでも、クライアント側リサイズする場合、全部Ajaxに変えないといけないっぽい。めんどい。
今Ajaxでやってるんだけど、cakephpの場合、fileだけ$this->request->params['form']に入ってる。
やっとできた。