这让我疯狂。考虑以下内容:
require 'open-uri'
#set up tempfile
extname = File.extname file_url
basename = File.basename(file_url, extname)
file = Tempfile.new([basename,extname])
#read form URI into tempfile
uri = URI.parse(file_url)
num_bytes_writen = file.write(uri.read)
puts "Wrote #{num_bytes_writen} bytes"
# Reading from my tempfile
puts "Opening: #{file.path} >>"
puts "#### BEGINING OF FILE ####"
puts File.open(file.path,'rb').read
puts "#### END OF FILE ####"
看起来文件已经写入了字节,但当我尝试打开这个文件时,它是空的。怎么回事?!
更奇怪的是,在Rails Console中一切都正常,但是在由Resque触发的worker执行时却不行。
有什么建议吗?谢谢大家。
file.rewind
而不是file.seek 0
。 - Carsten