文件 URI 的 StartRecognizeCustomFormsFromUri returns "Parameter 'Source' is not a valid Uri."

StartRecognizeCustomFormsFromUri returns "Parameter 'Source' is not a valid Uri." for file URI

使用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。但是,当 运行ning 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

FileUri 需要 public 可访问 URL,您不能指向您的本地文件系统。如果您想发送本地文件,您应该将文件作为文件流发送。

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