Ouverture de session

Commentaires récents

Syndication
Flux XML

Problème StringIO upload image

Problème StringIO upload image
Posté par snake-darkangel le Lundi, 25 Février, 2008 - 3:51pm. Débuter avec Rails

Pour mon application Rails 2.0.2, j'aimerais uploader une photo vers un dossier.
pour le moment j'ai ce code :(les < et % sont bien mis, mais ne s'affichent simplement pas...)
edit.html.erb

Quote:

form_for(@admin,:action=>"update",:html=>{:multipart=>true}) do |f|
=f.file_field "picture", :size =>"50"

= f.submit "Update"

end

admin_controller:
Quote:

def update
@admin = Admin.find(params[:id])

if params[:admin][:picture].size > 0
File.open("#{UPLOAD_PATH + @admin[:user_idn]}.jpg", 'w+') do |f|
f.write params[:admin][:picture].read
end
@picture_name= @admin[:user_idn]+".jpg"
else
@picture_name ='1.jpg'
end

@admin.picture_name = @picture_name

respond_to do |format|
....
end

ce que je veux faire, c'est récupéré le fichier images, le lire et le réécrire dans un autre fichier image, dans un lieu donné, avec un nom donné.

le problème viens je pense du fait que, lorsqu'il récupère "params[:admin][:picture]" il le récupère en String au lieu de StringIO. et donc le "params[:admin][:picture].read" ne marche pas...

y à t'il moyen de concaténé un string en strinIO, ou de forcer le formatage?
ça fait plus ou moins... une semaine que je trime là-dessus!!
HELP!!



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
upload image
Auteur: 
thomasgalibert
Date: 
Mer, 27/02/2008 - 19:59

Je pense que le plugin file_column combiné à Rmagick feront très bien ce que tu demandes. En tout cas, je les utilise souvent sans aucun souci.


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
bha file_column là, déjà
Auteur: 
snake-darkangel
Date: 
Mar, 04/03/2008 - 14:30

bha file_column là, déjà je sais pas l'installer, et puis je sais pas s'il permet de télécharger l'imagedans un dossier précis, voir distant. enfin bref je ne m'en sors pas du tout avec ces plugins.

C'est p-ê parce que ma version de Rails est 2.0.2 ou je ne sais quoi, mais çe ne devrais pas être normale qu'un "file_field" soit pris en temps que String non? ça devrait être un StringIO ou Template celon la taille si j'ai bien compris...

alors pq?
et surtout comment faire pour qu'il prenne ce
ActionController::UploadedStringIO:0x5129684
comme un StringIO ?


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
c'est justement pour évitez
Auteur: 
snake-darkangel
Date: 
Lun, 03/03/2008 - 16:59

c'est justement pour évitez ces plugins que je veux le faire "normalement".

j'ai essayé de les installer mais j'ai que des problèmes, j'y arrive pas. et puis c'est bcp moins pratique lors de déplacment de l'applic sur un serveur par exemple, de devoir réinstaller tout les plugins et tout ça... vive le dossier d'instal qui va ave :p

enfin je vais essayer quand même (encore) cette piste.

de bon lien pour m'aider?


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
Bon après encore des
Auteur: 
snake-darkangel
Date: 
Mar, 04/03/2008 - 16:20

Bon après encore des recherche, même avec le plugin, c'est vraiment le StringIO qui pose problème...

puisque même avec file_column, il pense recevoir que du String...

"Do not know how to handle a string with value '#/ActionController::UploadedStringIO:0x5036ce0\' that was passed to a file_column. Check if the form's encoding has been set to 'multipart/form-data'."

vous pensez que réinstaller Ruby m'aiderait?


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
la réinstallation de ruby
Auteur: 
snake-darkangel
Date: 
Mer, 05/03/2008 - 15:29

la réinstallation de ruby n'as servi à rien d'autre que de perdre 23h...(plugin et autre...) youpie.

passer moi toutes les infos que vous avez sur l'upload de fichier svp, et sur les StringIO, parce que là je sature...
c'est pas possible!


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
petit up pour ce sujet...
Auteur: 
snake-darkangel
Date: 
Mer, 12/03/2008 - 16:12

petit up pour ce sujet... toujours en attente!!
(je cherche je chercher, mais je trouve pô)


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
File column
Auteur: 
thomasgalibert
Date: 
Jeu, 13/03/2008 - 22:14

Tout d'abord, c'est pas de chance pour toi, parce que l'externalisation sous forme de plugins va être la politique avec Rails 2. Et puis il n'y a aucun souci quand tu changes de serveur, tu copies simplement le répertoire /vendor.

En ce qui concerne file_column, il n'y a aucun souci avec rails 2, tu dois surement faire une erreur quelque part.

Déjà, dans ta base, il faut bien que le champ de image soit de type binary (pour du MySql).
Ensuite, dans ton formulaire, tu dois préciser :multipart => true .
Puis dans ton modèle, tu paramètres ton objet image.

Est-ce que tu as bien fait ces étapes ?

Thomas.
www.divaveo.com


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
file_column_field
Auteur: 
thomasgalibert
Date: 
Jeu, 13/03/2008 - 22:20

au fait, j'avais mal vu, tu as bien mis le multipart, mais est que ça ne marcherait pas mieux avec file_column_field au lieu de file_field ?


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
merci de ta réponse. dans
Auteur: 
snake-darkangel
Date: 
Lun, 17/03/2008 - 10:16

merci de ta réponse.

dans l'exemple ici, je n'ai pas utiliser le file_column.

sinon je travail avec Oracle. je vais refaire des tests cette semaines mais je pense bien que mon champs était en Blob, puis en File,...
Je ne sais pas si c'est ce qu'il faut, il n'y a pas de binary si je me souviend bien sous oracle.

°Mais est-ce que File_column permet d'enregistrer la photo dans un fichier system donnée? pas dans l'application mais sur un autre serveur par exemple?

°Quel serait le type à mettre sous Oracle pour avec un champs 'binary'?


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
oracle file_column
Auteur: 
thomasgalibert
Date: 
Mar, 18/03/2008 - 20:33

Je ne me souviens plus exactement, mais dans le livre de DHH, il y a la table de correspondance des champs avec les différentes db. Tu devrais trouver sans problème.

Sinon, d'après ce que j'ai compris, tu veux enregistrer ton image dans une autre bdd ? Là, je ne connais pas la réponse, il faudrait que tu consultes la doc de façon approfondie. Mais de principe, la méthode file_column s'insère dans ton modèle qui hérite de ActiveRecord, ... qui utilise la bdd du fichier de configuration. Donc, à priori, cela me semble difficile, ...


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
38%
Mac OS X
29%
Windows
31%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 345

Qui est en ligne
Il y a actuellement 1 utilisateur et 39 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]