[求助]image.fromfile加载图片出现内存不足题
此问题网上很多人都遇到过,百度出来的解决方案似乎都不能解决,请高手帮忙。
程序代码就一行:System.Drawing.Image originalImage = System.Drawing.Image.FromFile(Server.MapPath("/up.jpg"));
图片大小:3.3MB 尺寸:3648*2736 正常的数码照片
经过测试当回收工作进程的时候,运行正常,当内存到达一定值的时候,问题就出现这个异常了。
在相同环境下,改变图片的尺寸也可以运行,比如用PS缩小到宽为3500px的时候正常,3057px的时候就不正常,且此数值不固定。
后来想到一个办法,就是当内存达到800M后自动回收工作进程,运行一天,没有问题,晚上就出现了一个莫名其妙的问题:“字符串转换时间函数Convert.ToDateTime”报错,所有用到的地方都提示“该字符串未被识别为有效的 DateTime”,随后,回收工作进程,一切正常,真郁闷了,也不知道和内存自动回收有没有关系。
运行后出现下面的错误提示:
Server Error in '/' Application.
--------------------------------------------------------------------------------
Out of memory.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.OutOfMemoryException: Out of memory.
Stack Trace:
[OutOfMemoryException: Out of memory.]
System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement) +380120
System.Drawing.Image.FromFile(String filename) +6
ASP.up_aspx.Button1_Click(Object sender, EventArgs e) +26
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102