Чтение содержимого локального файла в переменную в Rails


все, что я хочу сделать, это получить все содержимое из локального файла и сохранить его в переменной. Как?

File.read(@icon.full_filename).each {|l| r += l}

только дает мне часть. В PHP я просто использовал file_get_contents.

спасибо!

3 53

3 ответа:

data = File.read("/path/to/file")

Я думаю, что вы должны рассмотреть, используя IO.binread("/path/to/file") Если у вас есть недавний интерпретатор ruby (т. е. >= 1.9.2)

Вы можете найти IO документация по классу здесь http://www.ruby-doc.org/core-2.1.2/IO.html

отвечая на мой собственный вопрос здесь... оказывается, это только причуда Windows, которая происходит при чтении двоичных файлов (в моем случае JPEG), который требует дополнительного флага в открытом или файле.открытый вызов функции. Я пересмотрел его на open("/path/to/file", 'rb') {|io| a = a + io.read} и все было хорошо.