【问题标题】:How can I change the upload directory for paperclip on heroku to /tmp?如何将heroku上回形针的上传目录更改为/ tmp?
【发布时间】:2010-06-28 23:05:17
【问题描述】:

我需要上传文件,然后使用回形针解析它们?

目前是上传到/system文件夹,heroku是不允许的。

我不需要上传持久性...我解析它然后存储它们。

所以我希望能够保存到 /tmp 然后解析,然后让它在以后被吹走。

关于如何做到这一点的想法(如果我应该这样做)?

【问题讨论】:

  • 嗨,您指定为设置的解决方案 :path=>"" 不起作用。你的意思是“”或其他东西的空白字符串?就像在“”中设置路径一样。
  • 不,我认为不是设置空白字符串,而是设置实际路径...
  • 格式在 :url 的答案中
  • @Angela 嘿,我目前也在开发一个 facebook 应用程序,它允许用户在 tmp 目录上上传导入,它将发布在 facebook 上。但我正在努力寻找 / 的绝对路径是什么heroku.guess 的 tmp 目录你已经在 2 年前工作过..所以有什么帮助吗??

标签: ruby-on-rails heroku paperclip


【解决方案1】:

Heroku 的文档说要使用 Tempfile

嗯,它在文档中说:

有两个目录 可写:./tmp 和 ./log(在你的 应用程序根)。如果你想放弃 临时文件,持续时间为 请求,你可以写一个 文件名如 #{RAILS_ROOT}/tmp/myfile_#{Process.pid}。 不能保证这个文件 将在后续请求中出现 (虽然它可能是),所以这应该 不得用于任何类型的永久 存储

然后,如果您点击下面的 Adam Wiggins 链接,他说这可以通过 Tempfile 界面获得。

使用 Tempfile 很容易,但是如果 heroku 认为读/写文件操作不同的进程,您的文件可能不存在。

# tempfile_example.rb
require 'tempfile'

# defaults to Dir::tempdir
x = Tempfile.new('imagefile.png') 

puts x.path

编辑:答案

答案实际上是设置 :path => " " ...但你很接近.... – Angela

【讨论】:

  • 您好,谢谢。我应该将此代码粘贴到我调用回形针的同一个控制器中吗?我想我不清楚如何在回形针环境中使用它,因为它是将它放入系统文件夹的回形针宝石。
  • @Angela:我从来没有用过回形针,但看起来你可以在has_attached_file 选项中指定网址,例如:url => "/tmp/:attachment/:id/:style_:filename"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 2013-12-26
  • 2012-04-26
  • 2023-03-11
  • 2013-09-04
  • 2011-08-19
  • 2013-10-15
相关资源
最近更新 更多