Pb upload image

j’ai un model randonnee dans lequel je souhaite inserer une image. j’ai
un champ “nom_fichier” dans ma base.

class Randonnee < ActiveRecord::Base
belongs_to :user

def self.save(randonnee)
File.open(“pictures/#{randonnee[‘nom_fichier’]}/picture.jpg”, “w”) {
|f| f.write(randonnee[‘nom_fichier’].read) }
end

dans la vue j’ai ca:

Nom fichier
<%= file_field "randonnee", "nom_fichier" %>

probleme:

l’image uploadée ( dans le dossier public/images) est inouvrable ou ne
presente que 5 ou six couleur sur toute la surface de l’image quand je
l’affiche avec explorer windows; L’image fait uploader fait le meme nb
d’octet que l’image d’origine.

avez vous une idée de l’origne de pb?

On 6/11/07, jef [email protected] wrote:

|f| f.write(randonnee[‘nom_fichier’].read) }
presente que 5 ou six couleur sur toute la surface de l’image quand je
l’affiche avec explorer windows; L’image fait uploader fait le meme nb
d’octet que l’image d’origine.

avez vous une idée de l’origne de pb?

Tente peut-être en mettant ‘b’ dans le mode d’écriture pour que ce
soit en binaire.


Cyril M.

Cyril M. wrote:

On 6/11/07, jef [email protected] wrote:

|f| f.write(randonnee[‘nom_fichier’].read) }
presente que 5 ou six couleur sur toute la surface de l’image quand je
l’affiche avec explorer windows; L’image fait uploader fait le meme nb
d’octet que l’image d’origine.

avez vous une id�e de l’origne de pb?

Tente peut-�tre en mettant ‘b’ dans le mode d’�criture pour que ce
soit en binaire.


Cyril M.

j’ai tenté un wb et b mais ca ne marche pas non plus

File.open(“pictures/#{randonnee[‘nom_fichier’]}/picture.jpg”, “wb”)

Pylos Maitrepylos wrote:

Personnellement, je met w+ , et je n’ai pas de probl�me

MaitrePylos

j’ai essayé ca aussi, c’est toujours le meme pb, les fichiers images
sont corompu apres l’upload.

Personnellement, je met w+ , et je n’ai pas de problème

MaitrePylos

Essaye ceci pour voir

Code :

file = params[:randonnee][:nom_fichier]

File.open("#{RAILS_ROOT}/public/images/#{file.original_filename}",‘w
+’) do |f|
f.write(file.read)
end

Cela enregistrera ton image dans le répertoire /public/images avec le
nom d’origine

MaitrePylos