ruby-on-rails - 使用 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)
解决方案
推荐阅读
- spring-boot - WSL2 中的 InteliJ Idea 错误:导出:ProgramFiles(x86): bad variable name
- raspistill - 如何在容器中使用外部命令?
- excel - 以横向和动态范围保存 PDF
- docker - 浏览器会话无法在 elastest 中创建原因:com.spotify.docker.client.exceptions.DockerException
- bots - 如何在任何地方在 IQ bot 自动化中训练图像文件
- api - 空手道 API:忽略“?” 在网址中
- python - websockets中的内存泄漏
- python - Python 正则表达式正面向后看
- wordpress - 删除在除 SAVOY、wordpress 之外的其他完美主题中工作的购物车项目功能
- mongodb - docker-compose, mongodb, 单节点副本集