我在从 S3 读取文件时遇到一些问题。我希望能够远程加载 ID3 标签,但是使用 open-URI 不起作用,它给了我以下错误:
ruby-1.8.7-p302 > c=TagLib2::File.new(open(URI.parse("http://recordtemple.com.s3.amazonaws.com/music/745/original/The%20Stranger.mp3?1292096514")))
TypeError: can't convert Tempfile into String
from (irb):8:in `initialize'
from (irb):8:in `new'
from (irb):8
但是,如果我下载相同的文件并将其放在我的桌面上(即不需要 open-URI),它就可以正常工作。
c=TagLib2::File.new("/Users/momofwombie/Desktop/blah.mp3")
我还应该做些什么来读取远程文件吗?
更新:我刚刚找到这个链接,这可能会解释一点,但肯定有一些方法可以做到这一点......