在Ruby中读写二进制数据的最佳实践是什么?
在下面的代码示例中,我需要通过HTTP发送一个二进制文件(作为POST数据):
class SimpleHandler < Mongrel::HttpHandler
def process(request, response)
response.start(200) do |head,out|
head["Content-Type"] = "application/ocsp-responder"
f = File.new("resp.der", "r")
begin
while true
out.syswrite(f.sysread(1))
end
rescue EOFError => err
puts "Sent response."
end
end
end
end
这段代码看起来似乎已经很好了,但它可能不是非常符合惯用语法。我该如何改进它?
b
)添加到文件模式中。因此,在上面的代码中,您应该使用File.new('svarttag.jpg', 'rb')
和File.new('blacktrain.jpg', 'wb')
。 - Jörg W Mittag