Microsoft Azure自定义视觉API nodeJS-classifyImageUrl()错误“ BadRequestImageUrl”

时间:2019-04-03 07:56:37

标签: node.js azure base64 azure-cognitive-services

我尝试通过nodeJS上的API from Microsoft对atm进行分类。

该网络经过严格的培训,我可以“连接”到我的算法。我想将base64字符串作为dataUri发送,但随后出现此错误消息:“代码:BadRequestImageUrl,消息:无效的图像URL”

变量“ img”是base64字符串(来自FHIR-Observation-Object),并且是正确的(在Web端,URL与base64一起使用)。

我尝试从Wikipedia发送image。但是我还有另一个错误:“ NoFoundIteration /无效的迭代”

# app/controllers/application_controller.rb
class ApplicationController
  def authorization!
    authenticate_with_http_token do |token, options|
      @current_user = User.find_by(:auth_token => token)
    end

    unless @user.present?
      # You could return anything you want if the response if it's unauthorized. in this
      # case I'll just return a json object 
      return render json: {
        status: 300,
        message: "Unauthorized access in the API"
      }, status: 401
    end
  end
end

# in your controller just add a before_action method
before_action :authorization

def index
  @voices = Voice.all.map do |voice| 
  voice.format
end

我应该从Microsoft Azure中获得JSON格式的结果。

1 个答案:

答案 0 :(得分:0)

请查看您所使用的软件包背后的API文档:https://southcentralus.dev.cognitive.microsoft.com/docs/services/Custom_Vision_Prediction_3.0/operations/5c82db60bf6a2b11a8247c14

您可以看到Classify有2种方法:

  • ClassifyImage,它在application / octet-stream中使用图像
  • ClassifyImageUrl,它使用网址作为输入

不支持数据URL,您必须使用经典URL(并且图像必须可公开访问:请勿使用指向需要身份验证的端点的URL)

对于您的iteration错误,请确保在publishedName中使用迭代名称,而不是项目名称。

此处为示例,值在“发布为”字段中: Iteration name