我上傳一個大圖像〜10Mb的,我有以下代碼:HttpPostedFileBase到圖像拋出異常
public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
var image = Image.FromStream(file.InputStream, true, true);
...
}
}
有時它拋出Out of Memory
,有時GDI+ generic errors
。我不能在一個控制檯應用程序用下面的代碼重現此:
using (FileStream stream = File.Open(@"d:\test.jpg", FileMode.Open))
{
var image = Image.FromStream(stream);
}
什麼可以爲那些異常的原因是什麼?一個注意事項:對於小圖像,一切都很好。
你的Web服務器有多少內存如何使用的限制。 (如果您有權訪問應用程序池的高級設置,您可以找到多少個)。現在請記住,Web服務器上的文件位於原始表單上。控制檯應用程序無法重現,因爲它按需獲取內存。 –