Tôi có một ứng dụng được xây dựng bằng ruby trên đường ray. Tôi cần phải gửi yêu cầu curl cho ứng dụng đó để tải lên hình ảnh từ máy cục bộ. Trong ruby của tôi trên ứng dụng đường ray tôi đang sử dụng kẹp giấy cho trình tải lên hình ảnh.Yêu cầu Curl để tải ảnh từ máy cục bộ lên ứng dụng đường ray
Bây giờ yêu cầu curl này đang làm việc hoàn toàn tốt đẹp như không có hình ảnh tải lên cho yêu cầu curl này:
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
Bây giờ tôi muốn tải lên một hình ảnh từ localmachine của tôi.
Thêm "display_photo": @ test.jpg không hoạt động: Đây là những gì tôi đã cố gắng: (. Nhưng nó không làm việc)
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
Vì vậy, câu hỏi là làm thế nào để tải lên hình ảnh/dữ liệu file/video từ yêu cầu curl
EDIT
Đây là bộ điều khiển của tôi:
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
Trong mô hình của tôi:
class User < ActiveRecord::Base
has_attached_file :display_photo, :styles => { :medium => "200x200#", :thumb => "100x100#", :very_small=>"24x24#" }
end
bạn có muốn tải lên ảnh nội tuyến của mình không ?! – phoet
@phoet nội tuyến gì? yêu cầu cập nhật tiểu sử của bạn. Tôi muốn cập nhật hình ảnh hồ sơ của người dùng. –
vâng, nhưng bạn đang cố gắng để đặt một tập tin từ máy địa phương của bạn thành một chuỗi json. hoặc làm tôi hiểu lầm lệnh curl của bạn? – phoet