この例をファイル アップローダーに使用しています。 ファイルを保存した後、R で解析し、r-plot をデータベースに保存したいと考えています。
それが私のupload.rbです:
Paperclip::interpolates :array_type_folder do |attachment, style|
attachment.instance.upload_content_type
end
has_attached_file :upload,
:url =>"/system/Files/:array_type_folder/:basename.:extension",
:path =>":rails_root/public/system/Files/:array_type_folder/:basename.:extension"
after_save :do_picture_analyse
def do_picture_analyse
require 'rinruby'
myr = RinRuby.new(echo=false)
myr.fileurl=upload.url(:original)
puts "#{myr.fileurl}"
myr.eval <<EOF
s=read.table(fileurl)
jpeg(filename=':rails_root/public/system/Files/Pictures/probe.jpeg',width=250, height=250)
hist(s$V1)
dev.off()
EOF
end
この行により、データベース内のファイルの URL を確認できます (テストするだけです)。
myr.fileurl=upload.url(:original)
puts "#{myr.fileurl}"
ファイル probe2.cel をアップロードして R で分析すると、この種のエラーが発生します。
/system/Files/11/probe2.cel?1353680334 (that is the result of puts "#{myr.fileurl}")
Error in file(file, "rt") : could not open the connection
Error:
In file(file, "rt") :
'/system/Files/11/probe2.cel?1353680334' no such file or directory
Error in hist(s$V1) : Object 's' not found
データベースに接続できず、ファイルが見つからないようです。どうすれば対処できますか?前もって感謝します