Rails使用JSON和文件发布多部分表单

时间:2015-05-26 20:22:09

标签: ruby-on-rails ruby json multipartform-data

我正在从Ruby on Rails控制器向API发出POST请求。 API需要接收多部分表单,其中一部分是JSON,另一部分是文件。

到目前为止,这是我最好的尝试:

Api::Document.post("document_versions",
                        user_id: params[:user_id].to_i, 
                        client_token: params[:client_token], 
                        file_name: params[:file_name], 
                        doc_name: params[:doc_name],
                        doc_type_id: params[:doc_type_id].to_i,
                        file: params[:upload].tempfile,
                        "Content-type" => "multipart/form-data; boundary= SomethingToSeparateParts")

在API方面,它接收

{"method":"POST","auth_token":"12345","timestamp":"2015-05-26T20:18:16Z","status_code":500,"request_url":"/v1/document_versions","duration":"3.902005ms","user_agent":"Faraday v0.9.0","request_body":"{\"user_id\":138,\"client_token\":\"12345\",\"file_name\":\"benTest.png\",\"doc_name\":\"BENTEST\",\"doc_type_id\":1,\"file\":[\"�PNG\\r\\n\",\"\\u001A\\n\",\"\\u00

...

0000\\u0000IEND�B`�\"],\"Content-type\":\"multipart/form-data; boundary= SomethingToSeparateParts\"}"}

所以我认为我将它作为multipart / form-data出现,但它只有一个部分 - 包含所有属性的JSON,包括文件。我希望JSON包含文件中的所有内容,以及要分隔到多边形的另一部分的文件,由边界分隔。我怎么能这样做?

0 个答案:

没有答案