Мне нужно реализовать POST-запрос curl, указанный ниже, в Ruby, используя Rest-Client, чтобы я мог загрузить файл на свой сервер.
curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'Authorization: Basic jhdsjhdshjhdshdhh' --header 'tenant-code:djdjhhsdsjhjsd=' {"type":"formData"} 'https://myserver.com/blobs/upload?fileName=some.ipa&groupId=098'
Я пробовал следующее -
require 'rest-client'
require 'json'
payload = {
:multipart => true,
:file => File.new(path_to_file, 'rb')
}
response = RestClient.post("https://myserver.com/blobs/upload?fileName=some.ipa&groupId=098", payload, {accept: :json, 'tenant-code':"djdjhhsdsjhjsd=", 'Authorization': "Basic jhdsjhdshjhdshdhh"})
Это работает нормально, так как я получаю 200 ответ от сервера. Однако, когда я проверяю загруженный файл на моем сервере, он поврежден.
Это правильный способ сделать запрос multipart / form-data с использованием ruby?
Я вижу, что в запросе cURL есть следующее, которое нигде не учитывается в запросе ruby.
{"type":"formData"}
Нужно ли для этого что-то дополнительно делать?