Form Recognizer SDK,使用自定义模型进行分析,文件流问题

时间:2019-12-10 21:44:01

标签: c# filestream microsoft-cognitive azure-cognitive-services iformfile

当我尝试使用FileStream从本地文件分析pdf文档时,一切正常。 但是,当我使用IFormFile并使用方法OpenReadStream()并将该流传递给表单分析器的Analyze方法时,出现了异常。我还尝试从IFromFile流中创建一个新流,但也没有用。

任何帮助将不胜感激。谢谢

工作代码:

using var stream = new FileStream("D:\\somefile.pdf", FileMode.Open);
var result = await _formRecognizerClient.AnalyzeWithCustomModelAsync(modelId, fileStream, "application/pdf");

我正在尝试的代码:

using var stream = file.OpenReadStream(); // file is an IFormFile
var result = await _formRecognizerClient.AnalyzeWithCustomModelAsync(modelId, stream , file.ContentType);

1 个答案:

答案 0 :(得分:0)

我现在有一个解决方案,它虽然不优雅,但是可以工作。当然,如果有人可以提供帮助,我当然会在寻找更好的东西。

现在,我正在创建一个文件,保存并从中创建一个FileStream。在我使用docker-compose测试时,也可以在docker中工作

var iFormFileStream = file.OpenReadStream();
var stream = File.Create(string.Format("tempfilename.pdf", File.));
stream.Seek(0, SeekOrigin.Begin);
stream.CopyTo(stream);
stream.Close();

using var fileStream = new FileStream("tempfilename.pdf", FileMode.Open);
var result = await _formRecognizerClient.AnalyzeWithCustomModelAsync(modelId, fileStream, "application/pdf");