Httparty и загрузка файла - PullRequest
       25

Httparty и загрузка файла

0 голосов
/ 25 июня 2018

Я работаю над приложением rails api only. рельсы 5 и рубин 2.4

Мое требование - сделать запрос на обновление, который отправляет файлы в сторонний API. Я использую Почтальон, чтобы делать запросы.

Я использую камень Httparty для того же.

мои параметры ниже

<ActionController::Parameters {"identity_kyc_doc_1"=>#<ActionDispatch::Http::UploadedFile:0x007fed5d113b48 @tempfile=#<Tempfile:/var/folders/95/z56d5kd10_sb7s82b982fpjw0000gn/T/RackMultipart20180625-2016-1l5rgbn.jpeg>, @original_filename="test1.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"identity_kyc_doc_1\"; filename=\"test1.jpeg\"\r\nContent-Type: image/jpeg\r\n">, "controller"=>"simplex", "action"=>"update_kyc"} permitted: true>

и код контроллера вызывает сервис и действие сервиса ниже.

def update_request method, opts ={}
        headers = set_request_header

        post_data = opts#encode_options opts
        byebug
        url = @base_uri + url_path(method)
        r = self.class.put(url, { headers: headers, body: post_data }).parsed_response
        r['error'].empty? ? r['result'] : r['error']
    end

и я получаю ошибку ниже. используя byebug для отлова ошибки.

(byebug) r = self.class.put(url, { headers: headers, body: post_data })
*** NoMethodError Exception: undefined method `flat_map' for #<ActionController::Parameters:0x007fed5d111b90>

Я где-то читал в сети, что httparty не загружает файлы. Какая работа тогда?

Я пытался использовать RestClient, используя гем rest-client. но я получаю ошибку ниже для остальных клиентов gem.

Completed 500 Internal Server Error in 1934ms (ActiveRecord: 0.0ms)
RestClient::NotFound (404 Not Found):

Я установил драгоценный камень, а также добавил требование для драгоценного камня. пока не повезло.

любая помощь приветствуется. Спасибо

...