代码之家  ›  专栏  ›  技术社区  ›  James

用ruby graphviz创建一个图像,从heroku发送到s3?

  •  1
  • James  · 技术社区  · 14 年前

    我想用ruby graphviz制作一个图形的图像

    @graph.output(:output => "png", :file => "public/images/graph.png")
    

    既然我使用的是heroku,那么如何在本地保存图像并将其发送到s3 bucket,或者直接发送到s3 bucket?我很感激任何帮助。

    2 回复  |  直到 14 年前
        1
  •  1
  •   yfeldblum    14 年前

    可写:./tmp和./log(在 暂时删除 #{RAILS_ROOT}/tmp/myfile_#{Process.pid} . 无法保证此文件 (尽管可能是),所以这应该 不能用于任何永久性的 储存。

    http://docs.heroku.com/constraints

        2
  •  0
  •   tfe    14 年前

    所以你可以写信给 tmp/ 应用程序根目录下的目录,只要您不希望它在下一个请求中出现。因此,您必须在一个请求周期(或一个延迟的作业)内完成所有工作。

    这是你需要做的。运行任何脚本生成您的文件并将其写入 tmp公司/ http://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/storage/s3.rb

    或者你可以随时上传到S3自己使用任何宝石或库你喜欢。

    我在一些生产web应用程序中使用了这种方法。您不能指望tmp/在两个请求之间存在,但在一个请求中它就可靠地存在。