IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby Discussion :

Problème Upload photo utilisateur


Sujet :

Ruby

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Problème Upload photo utilisateur
    Bonjour,

    Celà fais plusieurs jours que j'essaie et je n'arrive pas à trouver une solution donc j'ai décidé de poster mon problème ici.

    Je dois ajouter aux profils utilisateurs des photos. J'arrive à enregistrer la photo dans la bdd mais ensuite j'arrive pas à l'afficher.

    j'ai donc créer un formulaire d'upload avec un model et controller picture qui a les champs suivants :

    # id :integer not null, primary key
    # desc :string(255)
    # name :string(255)
    # content_type :string(255)
    # data :binary(1048576)
    # user_id :integer

    Mon champs formulaires et comme suit :
    views/pictures/get
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <% form_for(@picture,
    			:html=>{:multipart => true}) do |f| %>
    <div class="field">
    	<%= f.label :desc, "Descriptions" %>
    	<%= f.text_field :desc %>
    </div>
    <div class="field">
        <%= f.label :data %>
        <%= f.file_field("uploaded_picture") %>
    </div>
    <%= f.submit 'Charger' %>
    <% end %>
    Mon controller est comme suit :
    controller/pictures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
      def get
      	@title = "Ajout la photo"
      	@picture = Picture.new
      end
      def create
      	@title = 'Edite ton profile et rajoute une photo !'
        @picture =current_user.pictures.build(params[:picture])
        if @picture.save
          redirect_to pictures_path, :flash => {:success => "Votre photo est bien enregistrée"}
        else
          render 'get', :flash => {:error => "Une erreur s'est produite, veuillez recommencer"}
        end
      end
     
      def show
        @title = "Mes photos"
        @picture = Picture.send_data(@picture.data,
          :filename   => @picture.name,
          :type       => @picture.content_type,
          :disposition=> "inline")
      end
      def picture
      	@picture = Picture.find(params[:id])
     
      end
    Mon model est comme suit :
    model/picture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class Picture < ActiveRecord::Base
    	attr_accessible :desc, :name
    	attr_protected 	:data,:content_type
    	belongs_to 		:user
     
     
    def uploaded_picture=(picture_field)
    	self.name				= picture_field.original_filename
    	self.content_type		= picture_field.content_type.chomp
    	self.data				= picture_field.read
    end
    Et enfin la vue de la photo

    view/show
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <h3><%= @picture.name %></h3>
    <img src="<%= url_for(@picture.id) %>" alt="<%=%>" />
    Si vous arriviez à m'aider, ce serait super et m'aiderait grandement !!!
    Merci d'avance et très bon développement à vous!

  2. #2
    Membre actif Avatar de rivsc
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 213
    Points : 275
    Points
    275
    Par défaut
    Bonjour,

    Je te suggère de changer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     def show
        @title = "Mes photos"
        @picture = Picture.send_data(@picture.data,
          :filename   => @picture.name,
          :type       => @picture.content_type,
          :disposition=> "inline")
      end
    En cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      # Methode show du scaffold
      def show
        @title = "Mes photos"
      end
     
      # Renvoie l'image binaire
      def send_picture
         @picture = Picture.find(params[:id])
         send_data(@picture.data,
          :filename   => @picture.name,
          :type       => @picture.content_type,
          :disposition=> "inline")
      end
    Et il faut ajouter dans routes.rb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    resource :pictures do
      member do
        get :send_picture
      end
    end
    Et dans la vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="<%= send_picture_picture_path(@picture) %>" alt="" />

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup, je vais aller essayer !

Discussions similaires

  1. Problème upload photo
    Par cyprianus dans le forum Langage
    Réponses: 5
    Dernier message: 23/12/2012, 10h37
  2. [Upload] Problème upload photo serveur Windows
    Par jpower dans le forum Langage
    Réponses: 1
    Dernier message: 04/10/2007, 14h12
  3. [Upload] Problème upload
    Par Kips dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2006, 13h28
  4. problème upload avec XMLHttpRequest
    Par alexmorel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2005, 17h36
  5. [Upload] upload photo
    Par digger dans le forum Langage
    Réponses: 1
    Dernier message: 07/11/2005, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo