Каковы наилучшие методы чтения и записи двоичных данных в Ruby?Рекомендации по обработке двоичных данных в 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
Хотя этот код, кажется, делает хорошую работу, это, вероятно, не очень идиоматических. Как я могу улучшить его?
Я добавил дополнительный код к образцу кода. Как вы можете видеть, мне нужно использовать объект ввода-вывода, предоставляемый фреймворком Mongrel, поэтому я не могу просто использовать HTTPClient.post. – StackedCrooked
При открытии двоичных файлов вы всегда должны добавлять «двоичный» модификатор ('b') к файловому моменту. Итак, выше вы должны иметь 'File.new ('svarttag.jpg', 'rb')' и 'File.new ('blacktrain.jpg', 'wb')'. –