Как я могу изменить каталог загрузки для paperclip на heroku на / tmp? - PullRequest
5 голосов
/ 29 июня 2010

Мне нужно загрузить файлы, а затем проанализировать их с помощью скрепки?

В настоящее время он загружен в папку / system, что запрещено в heroku.

Мне не нужно, чтобы загрузки были постоянными ... Я анализирую их и сохраняю.

Так что я хотел бы иметь возможность сохранить в / tmp, а затем проанализировать, а затем позволить ему сдуться позже.

Мысли о том, как это сделать (если я должен это сделать)?

1 Ответ

2 голосов
/ 29 июня 2010

Документы Heroku говорят, что нужно использовать Tempfile .

Ну, в документе сказано:

Есть два каталога, которые доступны для записи: ./tmpи ./log (под корнем вашего приложения).Если вы хотите временно удалить файл на время запроса, вы можете записать имя файла, например, # {RAILS_ROOT} / tmp / myfile _ # {Process.pid}.Нет никакой гарантии, что этот файл будет там при последующих запросах (хотя это может быть), поэтому его не следует использовать для любого вида постоянного хранения

Затем, если вы нажмете на Адама Виггинсассылка ниже, он говорит, что это доступно через интерфейс Tempfile.

Использовать Tempfile легко, но ваш файл может не существовать, если heroku считает операции чтения / записи файлов различными процессами.

# tempfile_example.rb
require 'tempfile'

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

puts x.path

Редактировать: Ответ

Ответ на самом деле установить: путь => "" ... но вы были близки .... - Анжела

...