HanaLucky / kpter-web

Landing Page for KPTer iOS application
https://www.kpter.net/
0 stars 0 forks source link

アバター画像を更新するとInternel Errorになる #311

Closed luckyriverr closed 6 years ago

luckyriverr commented 6 years ago

アバター画像更新時に元のファイル名がマルチバイト文字混ざっているとエラーになり更新できない。

I, [2018-06-23T06:38:51.610185 #7]  INFO -- : [b286a876-36b5-42c6-a9bb-f36bdc1c107f] Completed 500 Internal Server Error in 10ms (ActiveRecord: 3.4ms)
F, [2018-06-23T06:38:51.611093 #7] FATAL -- : [b286a876-36b5-42c6-a9bb-f36bdc1c107f]   
F, [2018-06-23T06:38:51.611148 #7] FATAL -- : [b286a876-36b5-42c6-a9bb-f36bdc1c107f] URI::InvalidURIError (URI must be ascii only "https://storage.googleapis.com/prod-kpter-public/uploads/user/avatar/1/\u3057\u308D\u3048.jpg"):
F, [2018-06-23T06:38:51.611194 #7] FATAL -- : [b286a876-36b5-42c6-a9bb-f36bdc1c107f]   
F, [2018-06-23T06:38:51.611238 #7] FATAL -- : [b286a876-36b5-42c6-a9bb-f36bdc1c107f] app/models/user.rb:208:in `delete_image'
[b286a876-36b5-42c6-a9bb-f36bdc1c107f] app/models/user.rb:225:in `update_image'
[b286a876-36b5-42c6-a9bb-f36bdc1c107f] app/controllers/users/registrations_controller.rb:52:in `upload'
luckyriverr commented 6 years ago

railsの添付ファイルの仕組みに載せたほうがよさそうかもしれない https://railsguides.jp/active_storage_overview.html → GCE上でもcredential情報を設定しないとファイル参照できなかった。GCP上ではクレデンシャルファイルは不要なのでそれにあやかりたい。 アップロードしたGCSのファイルへアクセスするために、サーバーにリクエストされて永続性のあるURLを取得してからブラウザ返却しリダイレクトがかかるという。アクセス多すぎ。 GCSにアップロードするときに階層を指定できない(詳しく調べていない)

Rails 5.2新機能なのでまだ発展途上だと判断しいまは導入しない。

luckyriverr commented 6 years ago

最終的に、ファイル名はシステム側で変換かけてマルチバイト文字をなくすことにした。プロフ画像なんて所詮そんなもん。