herokuではtmpディレクトリとlogディレクトリ以外、ファイルシステムとして利用することができないことを知りました。しかもそれは一時ファイルのみで、dynoの再起動等により、削除されてしまうということは把握しています。
herokuにはjvm上で動くrailsで実装しており、jarファイルを同梱しております。このjarファイルはアップロードされたPDFファイルのパスを引数として受け取り、PDFに注釈を付加する処理を施す、コアプログラムになっています。
問題はそもそもherokuのtmpディレクトリにPDFがアップロードができないということです。
paperclip用のmodelファイルは以下の通りです。
ruby
1class Pdf < ActiveRecord::Base 2 belongs_to :user 3 4 has_attached_file :content, 5 path: "#{Rails.root}/tmp/ip/:filename", 6 url: "/tmp/ip/:filename" 7 8 validates_attachment_presence :content 9 validates_attachment_content_type :content, :content_type => ['application/pdf'] 10 validates_uniqueness_of :user_id 11 validates_presence_of :content_content_type 12 13 14 ## Validation 15 validates_attachment :content, 16 presence: true # ファイルの存在チェック 17 #less_than: 100.megabytes # ファイルサイズのチェック 18 19 20end
tmp内にipディレクトリを作成し、そこにPDFをアップロードしたいです。
ちなみに関係しそうな環境としては以下の通りです。
gem
1jruby 9.1.13.0 2rails 4.2.8 3puma 3.10.0 java
お気付きの点がございましたら教えてください。
どうぞよろしくお願いいたします。
Ryohei
あなたの回答
tips
プレビュー