加载大于40MB的stream时EPPLus错误

我在C#MVC上使用EPPlus将excel文件加载到内存中。 我正在从一个file uploadstream:

model.File.InputStream 

并将其传递给ExcelPackage.Load()方法。

它适用于<40 MB的文件。 但对于较大的文件,我得到的错误:

在EPPlus.dll中发生types“System.Runtime.InteropServices.COMException”的exception,但未在用户代码中处理

附加信息:写入操作期间发生磁盘错误。 (从HRESULTexception:0x8003001D(STG_E_WRITEFAULT))

在这里输入图像说明

将项目切换到x64解决了问题!

  • 如果您在IIS上使用此function,则必须将该池设置为在x64上运行。
  • 在IIS Express上,您必须启用x64位版本