Ruby on Railsにアプリケーションを構築しました。ローカルマシンから画像をアップロードするには、そのアプリケーションにカール要求を投稿する必要があります。私のRubyアプリケーションでは、私は画像アップローダーのクリップを使用しています。このカールリクエストにはアップロード画像が存在しないとして今、このカール要求が完全に正常に動作しているローカルマシンからRuby上のRubyアプリケーションに画像をアップロードするための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
は今、私は私のLOCALMACHINEから画像をアップロードします。 「display_photo」を追加
:test.jpg @が動作していません。これは私がしようとしていたものです:(。しかし、そのはを動作していない)
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
そこで問題は、画像/データをアップロードする方法ですカールリクエストからファイル/動画
EDIT
これは私のコントローラです:
私のモデルでは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
:そう模倣あなたはwebbrowsersファイルのアップロードを通じてだろう行動をしている
curl -i -F [email protected] http://localhost:5000/
:
class User < ActiveRecord::Base
has_attached_file :display_photo, :styles => { :medium => "200x200#", :thumb => "100x100#", :very_small=>"24x24#" }
end
写真をインラインでアップロードしますか? – phoet
@phoetインライン何ですか?あなたのプロフィールを更新するためのリクエスト。ユーザーのプロフィール画像を更新したい –
ええ、ローカルマシンのファイルをjson文字列に変換しようとしています。あなたのカールコマンドを誤解していますか? – phoet