【发布时间】:2023-03-15 21:10:01
【问题描述】:
我想创建小票系统:http://ticketsystemkm.herokuapp.com/
我得到了电影海报,可以在主要网站上展示它们。
当我制作新电影时,一切正常,但几个小时后图像消失了。
也许有人有类似的问题并且知道如何解决它。
【问题讨论】:
标签: ruby-on-rails heroku paperclip
我想创建小票系统:http://ticketsystemkm.herokuapp.com/
我得到了电影海报,可以在主要网站上展示它们。
当我制作新电影时,一切正常,但几个小时后图像消失了。
也许有人有类似的问题并且知道如何解决它。
【问题讨论】:
标签: ruby-on-rails heroku paperclip
猜测您的图像是用户通过 Paperclip 或类似方式上传到您的公共文件夹的,这就是它们消失的原因。如果您的应用在 15 分钟左右没有收到任何流量,则它所在的 VM 将被销毁,并且公用文件夹也会随之消失。
您需要将资产存储在 S3 或其他一些 CDN 上。另一种选择是将相关资产检入到 app/assets/images 中的版本控制中。
可以在这里找到更详细的解释(和解决方案): https://devcenter.heroku.com/articles/paperclip-s3
【讨论】:
如果您更改上传者的default_url 或上传的文件已被删除,可能会出现问题
你应该检查一下: - 网站中的图像路径 - 上传器中的 default_url - 该路径中的文件存在
我认为我们不能在 heroku 中存储文件,也许它经常被清除 如果上传文件被heroku清除,你应该将它存储在外部(S3,Azure Storage,Google Cloud Storage,...)
【讨论】: