【发布时间】:2017-06-06 16:27:04
【问题描述】:
我正在上传一个 ~10Mb 的大图片,我有以下代码:
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 服务器上的文件是原始格式。控制台应用无法重现,因为它按需获取内存。
标签: c# asp.net-mvc image jquery-file-upload httppostedfilebase