2011-11-10 4 views
1

J'utilise Flickraw dans mon application de testComment télécharger une photo sur flickr en utilisant RoR?

Suivez les example,

Je peux télécharger le fichier par Keying chemin du fichier, mais je veux utiliser form_tag aide

Ceci est mon avis

= form_tag :upload_photo_to_Flickr , :multipart => true do 
= hidden_field_tag :token, @upload_info[:token] 
= label_tag "PHOTO" 
= file_field_tag :photo 
= submit_tag "Upload Photo" 

Le contrôleur est

def upload_photo_to_Flickr 
    file_path = params[:photo] 
    flickr.upload_photo file_path , :title => "please" , :description=>"successfully" 
end 

Il affiche un message d'erreur ArgumentError (mauvais nombre d'arguments (1 pour 0))

Et j'essaie aussi l'autre méthode utilisant lecture,

def upload_photo_to_Flickr 
    file_path = params[:photo].read 
    flickr.upload_photo file_path , :title => "please" , :description=>"successfully" 
end 

Il affiche un message d'erreur ArgumentError (chaîne contient null octet)

Les params est

{"photo"=>#<ActionDispatch::Http::UploadedFile:0x10ba37648 
    @original_filename="test.jpg", 
    @tempfile=#<File:/var/folders/wy/5yx_py3s02g8l0kw0frrpg_m0000gn/T/RackMultipart20111110- 
    1832-18ufrmm-0>, 
    @headers="Content-Disposition: form-data; name=\"photo\"; 
    filename=\"test.jpg\"\r\nContent-Type: image/jpeg\r\n", 
    @content_type="image/jpeg">, 

    "commit"=>"Upload Photo \350\201\236", 
    "token"=>"XXXX", 
    "authenticity_token"=>"o9PhVeE6u1MGfol/PvGQkLE8RCL5tJat+1AQlygGOKc=", 
    "utf8"=>"\342\234\223" 
} 

Comment obtenir le chemin du fichier?

Parce qu'il peut travailler comme ça

def upload_photo_to_Flickr 
    file_path = "/Desktop/test.jpg" 
    flickr.upload_photo file_path , :title => "please" , :description=>"successfully" 
end 

Ou je dois essayer une autre méthode pour obtenir le chemin de fichier au lieu de form_tag?

Répondre

2

Je trouve une solution!

Dans le contrôleur, en utilisant

flickr.upload_photo (params [: photo] .tempfile.path)

+0

S'il vous plaît marquer votre propre réponse acceptée – lucapette

Questions connexes