Closed kannokanno closed 10 years ago
ちなみに「クライアントJSでアップロード前にリサイズ」は、 手元で軽くやってみたところクライアント側のBase64変換までは出来ました。
が、ローカルだと(上記対応関係なく元から)何故かそもそもアイコン変更ができなくて、 そこから先の確認は出来なくて中断しました。
理想はクライアント/サーバー両方で対応することなんでしょうけどね。
本文を見直して思いましたが、やっぱりどっちも対応するのがベストか。 (現実解ではなく理想論として)
現実的に考えて
って感じでしょうか。 サーバー側の画像変換は自前で実装はしたくないですねえ。ブラウザとかjQuery に依存してなければ使えるから探してみますかね。
現状のAPI(multipart-form)が変わる
ちなみにBASE64になってしまうのであれば /user/change_avator_base64
って感じでサーバー側のAPIを追加してもいいかもしれないです。
が、ローカルだと(上記対応関係なく元から)何故かそもそもアイコン変更ができなくて、 そこから先の確認は出来なくて中断しました。
サーバー側の問題かなと。
パッと思いつくのはこのくらいです。 各パスはソースを見てください(すみません)
やっぱ権限周りですよねえ。 モジュール化していないブランチでもダメだったので、 自分も権限周りかなと思います。 リクエストが届いているところまではログで確認できているし。
タイムラインに流すよりはissueの方が適切かな、という気がしたのでこちらに書きます。
課題
Nginxの設定により1Mを超えるファイルはアップロードできない。 これによりアイコン変更では、ユーザーに1M以下のファイルを用意してもらう必要がある。
対策案
サーバー側でリサイズ
検討事項
クライアント側でリサイズ
HTML5のFileAPIとCanvasを使うと、クライアントJSで「アップロード前にリサイズ」することが可能です。
検討事項
で、何が言いたかったといいますと
という一意見です。 理想はクライアント/サーバー両方で対応することなんでしょうけどね。