1

これを機能させるために何時間もインターネットを検索しましたが、運がありませんでした。

ファイルをアップロードし、それを public/uploads ディレクトリ (既に存在する) に書き込もうとしました

name = archivo.original_filename
directory = "public/uploads"
path = File.join(directory, name)
Dir.mkdir(directory) unless File.directory?(directory)
File.open(path, "wb") { |f| f.write(archivo.read) }

そして、私は例外を取得します

No such file or directory - public/uploads/SERVITEST.xls

絶対パスを使用して /tmp ディレクトリからファイルを読み取ろうとしましたが、うまくいきませんでした。次の例外が発生しました。

Permission denied - oo_7598_6341257208

ファイルアップロードのすべての例で、コントローラーがパブリックディレクトリを見ることができるのを見たので、何が起こっているのか本当にわかりません

前もって感謝します

挨拶

解決:

ぐっすり眠り、コーヒーを数杯飲んだ後、「そのようなファイルまたはディレクトリはありません」という問題を次のように解決しました。

directory = Rails.root.join("public","uploads");

また、未定義の ROO_TMP 環境変数にアクセスしようとしていたため、「許可が拒否されました」の問題は roo gem の問題でした。

export ROO_TMP=/tmp

助けてくれてありがとう :D

4

0 に答える 0