Чтение содержимого локального файла в переменную в Rails - PullRequest
68 голосов
/ 16 июня 2010

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

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

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

Ответы [ 3 ]

128 голосов
/ 16 июня 2010
data = File.read("/path/to/file")
13 голосов
/ 16 июня 2010

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

12 голосов
/ 08 августа 2014

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...