2010-10-24 5 views
4

Toute personne ici a Rails 3 avec Uploadify & Expérience Paper_Clip?Rails 3 avec Uploadify & Paper_Clip

Je voudrais permettre à l'utilisateur de télécharger des photos:

Voici mon avis:

<input id="fileInput" name="fileInput" type="file" /> 
    <script type="text/javascript"> 
     $(document).ready(function() { 

      $('#fileInput').uploadify({ 
       uploader : '/uploadify/uploadify.swf', 
       fileDataName : 'photo[file]', 
       script : '/photos/upload', 
       cancelImg : '/uploadify/cancel.png', 
       auto : true, 
       scriptData : { 
        '_http_accept': 'application/javascript', 
        '_method': 'put', 
        "<%= key = Rails.application.config.session_options[:key] %>" : "<%= cookies[key] %>", 
        "<%= request_forgery_protection_token %>" : "<%= form_authenticity_token %>" 

       } 
      }); 
     }); 
    </script> 

Mon contrôleur:

def upload 
    @photo = Photo.create(params[:file]) 

    respond_to do |format| 
     format.json 
    end 
    end 

Mon modèle: #Paperclip pour la photo has_attached_file: photo, . . .

problème ... est quand je l'utilise Uploadify pour rendre, en cas d'erreur, Dans les journaux, il montre:

Started POST "/photos/upload" for 127.0.0.1 at Sun Oct 24 12:16:38 -0700 2010 
    Processing by PhotosController#upload as HTML 
    Parameters: {"photo"=>{"file"=>#<File:/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/RackMultipart20101024-34605-sqvg1m-0>}, "_http_accept"=>"application/javascript", "Filename"=>"whiteboard_2.jpg", "folder"=>"/projects/3/photo_albums/", "authenticity_token"=>"l9TqKh1Q7/8riUjuPMj7QtiJwNNxvBKfENnTx/ijP3E=", "Upload"=>"Submit Query", "_cline_session"=>"BAh7CCIQX2NzcmZfdG9rZW4iMWw5VHFLaDFRNy84cmlVanVQTWo3UXRpSndOTnh2QktmRU5uVHgvaWpQM0U9Ig9zZXNzaW9uX2lkIiVmYjYyYmM5YjU0YTBkMWMwNWZmMDQ3NmE1NzU1YTE1YSIZd2FyZGVuLnVzZXIudXNlci5rZXlbByIJVXNlcmkG--f5b0cb3a6b775b2cc15eb30b20aa3c3f558b0412"} 
    User Load (0.2ms) SELECT "users".* FROM "users" WHERE ("users"."id" = 1) LIMIT 1 
    SQL (0.4ms) INSERT INTO "photos" ("created_at", "description", "photo_content_type", "photo_file_name", "photo_file_size", "photo_updated_at", "title", "updated_at", "user_id") VALUES ('2010-10-24 19:16:39.042342', NULL, NULL, NULL, NULL, NULL, NULL, '2010-10-24 19:16:39.042342', NULL) 
[paperclip] Saving attachments. 
Completed 406 Not Acceptable in 50ms 

Toutes les idées pourquoi Rails ne reçoit pas le fichier téléchargé?

Merci

Répondre

1

Parce que vous ne pouvez pas télécharger des images sur une requête AJAX normale (voir uploading a file via ajax with php), joyau de paperclip maintient la demande en tant que norme ' text/html 'et envoie le fichier.

Si vous aviez une réponse dans votre contrôleur pour le code HTML, vous le verriez renvoyer le code HTML, ce que votre navigateur a demandé. Vérifiez le Firefox LiveHTTPHeaders pour comparer un appel normal: distant à un avec un attachement de trombone.