Curl demande de télécharger une image à partir de la machine locale à ruby on rails application
J'ai une application développée en ruby on rails. J'ai besoin de poster demande curl à cette application pour télécharger des images à partir de la machine locale. Dans mon ruby on rails application que je suis en utilisant un trombone pour l'image uploader.
Maintenant cette demande curl fonctionne parfaitement bien qu'il n'y a pas de télécharger l'image de cette demande curl:
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X PUT -d '{"user":{"first_name":"John","last_name":"Smith"},"token":"api"}' http://localhost:3000/users/8
Maintenant, je veux télécharger une image à partir de mon localmachine.
L'ajout de "display_photo":@test.jpg ne fonctionne pas: c'est Ce que j'ai essayé: (Mais sa ne fonctionne pas.)
curl -v -H -F "Accept: application/json" -H "Content-type: application/json" -X PUT -d '{"user":{"first_name":"firstname","last_name":"lastname","display_photo":@test.jpg},"token":"api"}' http://localhost:3000/users/8
La question est donc comment faire pour télécharger des images/fichiers de données/vidéos à partir de curl demande
MODIFIER
C'est mon contrôleur:
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to(@user, :notice => 'User was successfully updated.') }
format.json { render :file => "users/json/show.json.erb", :content_type => 'application/json' }
else
format.html { render :action => "edit" }
format.json {
@errors_object = @user
render :file => "shared/json/errors.json.erb", :content_type => 'application/json' }
end
end
end
Dans mon modèle:
class User < ActiveRecord::Base
has_attached_file :display_photo, :styles => { :medium => "200x200#", :thumb => "100x100#", :very_small=>"24x24#" }
end
- voulez-vous télécharger votre photo inline?!
- inline quoi? son une requête pour mettre à jour votre profil. Je veux mettre à jour le profil de l'utilisateur de l'image.
- ouais, mais vous tentez de mettre un fichier à partir de votre ordinateur local dans une chaîne json. ou ai-je mal compris votre commande curl?
- Je veux télécharger un fichier, je ne suis pas en mesure de comprendre comment passer le fichier en argument. La deuxième boucle est mal, j'ai besoin d'aide en ce que seul. comment passer de l'image dans la demande curl.
Vous devez vous connecter pour publier un commentaire.
vous le feriez normalement télécharger un fichier comme ceci:
faire imite le comportement que vous auriez des navigateurs internet, par le biais d'un téléchargement de fichier.
si vous regardez les rails de réponse pour ce faire, il est envoyé via
application/octet-stream
qui peuvent être traitées correctement comme un fichier téléchargé. autant que je sache, il n'est pas possible de le faire avec un json demande:J'ai eu le même problème et je l'ai résolu avec les personnes suivantes, qui permettent de contourner le JSON demande: