0
我正在嘗試上傳圖片。這是捲曲的代碼,我從網站上的文檔已收到Ruby:如何發佈文件?
curl -X POST
'https://my.craftar.net/api/v0/image/?api_key=123456789abcdefghijk123456789abcdefghijk'
-F "item=/api/v0/item/4fe672886ec142f6ab6d72d54acf046f/"
-F "[email protected]"
我試圖用「網絡/ HTTP/POST /多」
File.open("./test.png") do |png|
data = {"item" => "/api/v0/item/2fb8cc16002742ccbbecddc186b1e131"}
uri = URI.parse('https://my.craftar.net/api/v0/image/?api_key=09d29c3801932aab983892565e731ee3e5c0879e')
headers = { 'Content-Type' =>'application/json'}
req = Net::HTTP::Post::Multipart.new uri.request_uri,
{"file" => UploadIO.new(png, "image/png", "image.png")}.merge(data),
headers
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
res = http.request(req)
puts "result:"
puts res.body
end
來解決它,我依據的文件上這個代碼'net/http/post/multipart' 但它不起作用,我得到了很多錯誤。而我無法弄清楚我做錯了什麼。
現在我得到一個錯誤從CraftAR
{ 「消息」:「預期的multipart/form-data的;邊界= < ..>內容,但得到的應用程序/ JSON;邊界= ----- ------ RubyMultipartPost。「,」code「:」WRONG_CONTENT_TYPE「}}
感謝你,工作得更好。但是,我確實得到了一個錯誤,但這次是另外一個: _/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/generic_request.rb:179 :'send_request_with_body':未定義的方法'bytesize'爲{「item」=>「/ api/v0/item/4fe672886ec142f6ab6d72d54acf046f」}:散列(NoMethodError)_ –
是的,原代碼中有另一個錯誤,現在更新 – Slicedpan
謝謝這有助於很多,改變了上面的代碼。 :) –