【问题标题】:StartRecognizeCustomFormsFromUri returns "Parameter 'Source' is not a valid Uri." for file URIStartRecognizeCustomFormsFromUri 返回“参数 'Source' 不是有效的 Uri。”用于文件 URI
【发布时间】:2020-05-27 12:40:46
【问题描述】:

使用 Azure.AI.FormRecognizer 1.0.0-preview.2 并尝试上传文件,然后对其运行表单识别。代码是

var fileName = Path.Combine(@"c:\temp\", sourceFile.FileName);
var fileUri = new Uri(fileName);
sourceFile.SaveAs(fileName);

var forms = await recogClient.StartRecognizeCustomFormsFromUri(modelId, fileUri).WaitForCompletionAsync();

例如,文件 URI 变为 file:///c:/temp/DC002.pdf,我认为这是一个有效的 URI。但是,在运行StartRecognizeCustomFormsFromUri 时,我得到了错误:

Service request failed. Status: 400 (Bad Request) Content: {"error":{"code":"1003","message":"Parameter 'Source' is not a valid Uri."}} Headers: Transfer-Encoding: chunked x-envoy-upstream-service-time: REDACTED apim-request-id: REDACTED Strict-Transport-Security: REDACTED x-content-type-options: REDACTED Date: Wed, 27 May 2020 12:30:01 GMT Content-Type: application/json; charset=utf-8

【问题讨论】:

    标签: form-recognizer


    【解决方案1】:

    FileUri 必须是可公开访问的 URL,不能指向本地文件系统。如果您想发送本地文件,您应该将文件作为文件流发送。

    当您的文件已经在 blob 存储或任何其他公共可访问的云存储上时,Uri 是一种加快处理速度的好方法,从而节省了不将文件流式传输到表单识别器服务的时间。

    【讨论】:

    • 任何从文件中识别表单的想法都有 Python 实现?
    • 感谢您提供的链接,但是我只使用了 REST API,特别是上传文件(png)以形成识别器并进行分析,我将标题内容类型设置为 image/png并在正文中添加二进制数据。要将文件内容添加为二进制文件,我使用了 BytesIO 包。它奏效了。
    猜你喜欢
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多