Tout ce que je veux, c'est obtenir tout le contenu d'un fichier local et le stocker dans une variable. Comment?
File.read(@icon.full_filename).each {|l| r += l}
ne m'en donne qu'une partie. En PHP, je viens d'utiliser file_get_contents
.
Répondre à ma propre question ici ... s’avère que c’est un problème particulier à Windows qui se produit lors de la lecture de fichiers binaires (dans mon cas un fichier JPEG) qui nécessite un indicateur supplémentaire dans l’appel de fonction open ou File.open. Je l'ai révisé en open("/path/to/file", 'rb') {|io| a = a + io.read}
et tout allait bien.
data = File.read("/path/to/file")
Je pense que vous devriez envisager d'utiliser IO.binread("/path/to/file")
si vous avez un interpréteur récent Ruby (c'est-à-dire>> 1.9.2)
Vous pouvez trouver IO
documentation sur la classe ici http://www.Ruby-doc.org/core-2.1.2/IO.html