アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


Herokuで一時ファイル保存

Herokuはサーバー上にファイルの保存ができないので
ファイルをアップロードする際にはS3などの外部ストレージに保存する必要があります。

しかし、一時的にファイルを保存したい場合にもいちいちS3にアップロードしていては面倒です。
そこで情報を探してみると、Herokuでもtmpフォルダには一時保存できるとのこと。

こちらの記事で知ったのだけど、Herokuでは/tmpフォルダのみ一時保存フォルダとして利用することが可能で、そこにはファイルを書き出せるとのこと。実際にやってみたら出来た。一時保存なので時間が経過すると消去される。消去された画像にアクセスしようとすると、Internal Server Errorが起きた覚え。

/tmpフォルダのファイルが消去される条件は、自分で試してみた2限りでは、アプリがスピンダウン状態になると消去されるっぽくて、そのスピンダウン状態には、最後にサイトにアクセスがあってから一定時間が経過するとなる。その一定時間は正確にはわからないけど、感覚的には10~30分くらいかな?

RMagickを使って生成した画像をHerokuで表示する2つの方法 - アインシュタインの電話番号