我可以用这样的通配符打开一个本地文件:
require 'nokogiri'
require 'open-uri'
Dir.glob(Rails.root.join("public/system/xmls/**/original/*.xml")).each do |path|
File.open(path) do |f|
doc = Nokogiri::XML(f)
#etc
但这当然不起作用:
Dir.glob("https://s3-eu-west-1.amazonaws.com/foldername/xmlimports/**/*.xml").each do |path| #etc
答案 0 :(得分:1)
URL不提供列出目录内容的标准化方法,因此不可能编写一个可用于任何URL的glob处理程序。你必须为这个特殊情况推出你自己的glob处理程序,或者依赖像wget
之类的东西来镜像整个目录并在本地对文件进行全局化(但如果文件很大并且这是一个奇怪的方法和/或者你只需要处理其中的一小部分。)