我正在尝试在 Azure 函数中处理多页 TIF。该函数由 blob 存储的更改触发。当触发器运行时,它调用:
function loadFile(Stream mpTif);
Bitmap pageOnes = (Bitmap)Image.FromStream(mpTif);
mpTif
是直接传递到 Azure 函数的 blob 存储流。
我的函数在小的多页 TIF 文件上运行良好,但是当我在 blob 存储中放置一个非常大的文件时,它会失败Image.FromStream
并出现错误:
参数无效
我正在使用本地功能主机在我自己的机器上运行它。奇怪的是,我有一个控制台应用程序,它使用完全相同的代码运行,但使用 MemoryStream 调用它:
MemoryStream data = new MemoryStream(File.ReadAllBytes("big.tif"));
loadFile(data);
这工作正常。我是否在 Azure Functions 中达到某种内存限制?在我遇到那个错误之前花了很长时间,这让我觉得这是一个 OOM 的事情。此 TIF 文件非常大(80Mb 和 10,000 页)。