Khách hàng của tôi đang cố gắng tải lên hình ảnh từ điện thoại Blackberry và Android. Họ không thích đăng một tham số biểu mẫu) hoặc b) nhiều thông điệp. Những gì họ muốn làm là làm một POST đến một url chỉ với dữ liệu từ tập tin.Tải tệp thô lên Rails bằng Carrierwave
Something như thế này có thể được thực hiện trong curl: curl -d @google.png http://server/postcards/1/photo.json -X POST
Tôi muốn ảnh tải lên để đưa vào các thuộc tính hình ảnh của mô hình bưu thiếp và vào thư mục bên phải.
Tôi đang làm một cái gì đó như thế này trong bộ điều khiển nhưng hình ảnh bị hỏng trong thư mục. Tôi đang làm một đổi tên nhãn hiệu của tập tin vào một "png" cho bây giờ:
def PostcardsController < ApplicationController
...
# Other RESTful methods
...
def photo
@postcard = Postcard.find(params[:id])
@postcard.photo = request.body
@postcard.save
end
Mô hình:
class Postcard < ActiveRecord::Base
mount_uploader :photo, PhotoUploader
end
Vì vậy, khá nhiều điều này là chính xác những gì tôi cần. Chi tiết nhỏ: ảnh mới được tạo (của lớp UploadedFile) yêu cầu "original_filename" được đặt thành thứ gì đó. Carrierwave mong đợi một cái gì đó ở đó ngay cả khi đó là dữ liệu giả. Vấn đề chính của tôi dường như đã được lệnh curl của tôi vì tôi đã không gửi dữ liệu đúng cách. – jevy
Có người hỏi tôi. Đối với lệnh curl, tôi đã sử dụng hình ảnh này: "curl --form" [[email protected];] "http: // server/images.json' – jevy