AndroidクライアントからRails JSON APIサーバーにファイルをアップロードします。レールコントローラでファイルをRails JSON APIサーバーにPaperclipとMultipartリクエストでアップロードする
Content-Type: multipart/form-data; boundary=d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5
Host: 10.0.2.2:3000
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
--d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5
Content-Disposition: form-data; name="POSTDATA"
Content-Type: application/json; charset=UTF-8
Content-Transfer-Encoding: 8bit
{"tags":["test"],"location_id":1,"post":{"content":"test"}}
--d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5
Content-Disposition: form-data; name="IMAGEDATA"; filename="testimage.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
<BINARY DATA?
--d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5--
私はこのコードで新しいポスト作成しています:
@parsed_json = JSON(params[:POSTDATA])
@post = @current_user.posts.new(@parsed_json["post"])
を
は、私はそのように見えるのAndroidクライアントからのマルチパート/フォーム要求を送信しています
どのようにして、Paperclipはマルチパートフォームから添付ファイルを保存できますか?
私はこのような何かでそれを行うことができます。
if params.has_key?(:IMAGEDATA)
photo = params[:IMAGEDATA]
photo.rewind
@filename = "/tmp/tempfile"
File.open(@filename, "wb") do |file|
file.write(photo.read)
end
@post.photo = File.open(@filename)
end
が、それはまた、THERマルチパートリクエストに渡されているファイル名が使用されていない、最善の解決策のように見えていません。
どのようにすればいいですか? –