【问题标题】:How to directly upload image from heroku console to my s3 bucket如何直接将图像从 heroku 控制台上传到我的 s3 存储桶
【发布时间】:2020-11-13 21:56:35
【问题描述】:

我在 heroku 上托管了一个 Rails API 应用程序。我可以从 Rails 控制台将图像附加到开发中的事件项,如下所示:

event.image.attach(io: File.open('/path/to/file'), filename: 'file')

有没有办法通过 heroku 控制台在生产中做同样的事情?

提前非常感谢:)

【问题讨论】:

  • 对我来说,你可以用同样的方式来做。你有错误吗?
  • 是的,我尝试了以下错误:irb(main):003:0> event.image.attach(io: File.open('/Users/bolad/Downloads/music.jpg' ), 文件名: 'music') Traceback (最近一次通话最后): 3: from (irb):3 2: from (irb):3:in open' 1: from (irb):3:in initialize' Errno::ENOENT (没有这样的文件或目录@ rb_sysopen - /Users/bolad/Downloads/music.jpg) irb(main):004:0> ›

标签: ruby-on-rails heroku rails-activestorage


【解决方案1】:

你不能在heroku中使用本地路径

当你在开发时,你是在你的本地计算机上,所以像/Users/bolad/Downloads/music.jpg 这样的路径是有意义的。在 heroku 上,bolad 在系统上不存在。是不是因为这个原因你有错误。

2 个解决方案:

  • 使用相对路径,但您需要在项目中创建一个文件夹,并将您的图像放入其中。如果您有很多图像不是一个好的解决方案。
  • 第二种解决方案是将您的图像放在服务器上、存储桶 amazon s3 或其他。因此,您可以通过 url 访问,在本地或生产环境中使用相同的方式。

【讨论】:

  • 非常感谢 jpheos。我将图像托管在服务器上并通过图像 url 访问它并且它有效:)
猜你喜欢
  • 2021-07-20
  • 1970-01-01
  • 2018-03-11
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 2023-04-03
  • 2020-02-14
相关资源
最近更新 更多