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 on Rails Discussion :

Upload de fichiers en ajax ou par formulaire classique


Sujet :

Ruby on Rails

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Upload de fichiers en ajax ou par formulaire classique
    Salut, j'ai encore un petit problème, après je vous embête plus, promis

    Je souhaitais mettre en place l'upload de fichiers par ajax avec le plugin javascript ajaxupload (que j'utilise en php) mais cette fois-ci avec rails.

    Je récupére bien le paramètre "id_realisation" et "imgFile" et une image est bien crée au chemin désiré. Le soucis est que l'image est vide, c'est juste un fichier sans le contenu semble t'il.

    La fonction Ruby qui pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      def uploadImage
        uploaded_io = params[:picture]
     
        File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'w') do |file|
          file.write(uploaded_io.read)
        end 
     
        render :text => YAML::dump(uploaded_io)
      end
    Je fournis le code javascript mais le problème ne doit pas venir d'ici

    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
    new Ajax_upload('form_image_upload',
        {
            action: 'realisations_ajax_uploadImage/',
            name: 'picture',
            data: {
                id_realisation : $('#id_realisation').html()
            },
            onSubmit : function(file , ext)
            {
                if (ext && /^(png)$/.test(ext)) {
                }
                else {
                    alert('L\'image doit etre au format PNG');
                    return false;
                }
            },
            onComplete : function(file, response)
            {
                alert(response);
            }
        });
    J'ai voulu ensuite réaliser la même chose avec un formulaire classique (sans ajax) mais le problème est identique, une image vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <% form_tag({:action => :uploadImage}, :multipart => true) do %>
                      <%= file_field_tag 'picture' %> 
                      <%= submit_tag("Modifier") %>
                    <% end %>
    Je commence à craquer

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Arf, la réponse était ici-même : http://www.developpez.net/forums/d69...hier-corrompu/

    J'avais mis w au lieu de wb.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Galerie] Upload de fichiers avec URL protégés par MDP
    Par PPierre59 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 22/12/2010, 11h38
  2. [MVC] Upload de fichier et AJAX
    Par zax-tfh dans le forum ASP.NET
    Réponses: 9
    Dernier message: 03/12/2009, 16h42
  3. Upload de fichiers en Ajax
    Par gyome314 dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 10/07/2007, 17h10
  4. Upload des fichier avec AJAX
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/01/2007, 07h52
  5. Réponses: 4
    Dernier message: 10/07/2005, 20h53

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