この記事は スマホのブラウザで画像を圧縮する手順メモです したかったこと スマホでブラウザから画像をアップロードさせたかったです 最近の高性能カメラだと画像サイズが大きすぎて非常に重くなってしまいました サーバサイドで圧縮する方式だと結局アップロードの通信量は変わらないから効果がありません 対処 ブラウザ上で画像を圧縮して対応することにしました image-comporessorというJavaScriptライブラリを使います 内部的にはCanvasとか使って圧縮をしているみたいです 別にスマホじゃなくてもモダンブラウザなら動きます 対処コード FormDataオブジェクトを生成 Ajax送信でのみ利用できる操作しやすいFormオブジェクトみたいなもの FormのDOMを渡して生成する input type=fileから画像ファイルオブジェクトを取得して、ImageCompressorに渡し