我希望用户能够上传文件,然后我希望能够解析它们,取出一些信息,然后将它们声明为全局变量,供我的Web应用程序的其他部分使用。我知道您可以轻松放入文件上传表单,但是我会在哪里存储解析文件的脚本?它会在模型,视图,控制器或其他地方吗?另外,如何告诉我的应用程序在文件上传时立即运行此脚本。我会在表单的<%end%>之前将它放在视图中吗?标签?当它解析文件时,如何确保变量(可能是数组)全局声明,以便我可以在应用程序的所有其他部分调用这些变量
答案 0 :(得分:0)
使用EventMachine,您可以查看文件操作的文件夹,然后进行处理 图书馆rb-inotify也适合。
# Create the notifier
notifier = INotify::Notifier.new
# Run this callback whenever the file path/to/foo.txt is read
notifier.watch("path/to/foo.txt", :access) do
puts "Foo.txt was accessed!"
end
# Watch for any file in the directory being deleted
# or moved out of the directory.
notifier.watch("path/to/directory", :delete, :moved_from) do |event|
# The #name field of the event object contains the name of the affected file
puts "#{event.name} is no longer in the directory!"
end
# Nothing happens until you run the notifier!
notifier.run