首页 > 解决方案 > 使用 https 发布请求发送音频文件(法拉第)

问题描述

实际上,我正在处理一项任务,其中我必须使用 HTTPS 请求发送音频文件。每次我收到错误的请求或媒体未找到错误。

这是我的卷曲请求。

curl --location --request POST '${Invoke URL}/recognizer/upload' \
--header 'X-CLOVASPEECH-API-KEY: ${Secret Key}' \
--form 'media=@/video/sample.wav' \
--form 'params={"language":"ko-KR","completion":"sync","callback":"http://localhost:9010","forbiddens":"comma separated words","boostings":[{"words": "comma separated words"}]};type=application/json'

现在,我正在尝试发送这样的请求。

conn = Faraday.new('https://clovaspeech-gw.ncloud.com/external/v1/1195/6ca13d090/recognizer/upload') do |req|
      req.request :multipart
      req.headers['X-CLOVASPEECH-API-KEY'] = 'e8sddwe23574322121edb08'
      req.params['Content-Type'] = 'application/json'
      req.params['media'] = "/home/humayun/projects/react-neuro/portal/bostonnaming-Set1.wav"
      req.params['language'] = 'ko-KR'
      req.params['completion'] = 'sync'
      req.params['callback'] = 'https://webhook.site/dd1b3-eccd-4344-bce8-afdf66'
      req.request :url_encoded
      req.adapter :net_http # This is what ended up making it work
    end

    file_obj = Faraday::UploadIO.new(
      file.path,
      file.content_type,
      file.original_filename
    )

    payload = { :file => file_obj }

    conn.post('/', payload)

标签: ruby-on-railsruby-on-rails-5speech-to-textruby-on-rails-6faraday

解决方案


推荐阅读