gpt4 book ai didi

ruby - 使用 Ruby 将 base64 而不是 url 传递到 Microsoft Azure 计算机视觉 API 的正确语法是什么

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:09 26 4
gpt4 key购买 nike

require 'net/http'

uri = URI('https://westcentralus.api.cognitive.microsoft.com/vision/v1.0/ocr')
uri.query = URI.encode_www_form({

'language' => 'unk',
'detectOrientation ' => 'true'
})

request = Net::HTTP::Post.new(uri.request_uri)

request['Content-Type'] = 'application/octet-stream'

request['Ocp-Apim-Subscription-Key'] = 'MY_SUBSCRIPTION_KEY'

request.body = "raw_image_binary"


response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end

puts response.body

我收到了这个回复。

{"code":"InvalidImageFormat","re​​questId":"3aee7147-2acc-4f64-b1c6-8453815eda38","message":"输入数据不是有效图像。"}

救命!!

最佳答案

听起来您想通过 Ruby 中的 application/octet-stream 内容类型将图像文件传递给 Azure 计算机视觉 API,因此您需要将二进制图像数据传递给 response。 body,不传递图像的base64字符串。

请使用下面的代码而不是当前代码来使其正常工作。

# Supported image formats: JPEG, PNG, GIF, BMP.
request.body = File.binread("<your image file name>")
# Or `request.body = File.open("<your image file name>") {|io| io.read}` also works

关于ruby - 使用 Ruby 将 base64 而不是 url 传递到 Microsoft Azure 计算机视觉 API 的正确语法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44536437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com