1、Image.FormFile文件正由另一进程使用,因此该进程无法访问该文件
解决办法:
Image img1=Image.FromFile(sourceFile);
Image img2=new Bitmap(img1);
img1.Dispose();
this.pictureBox1.Image=img2;
有网友说:实在不行,用gc.collect() ;
2.内存不足,或GDI+发生了一般性错误。
问题描述:在Image.FromFile(souceFile)出抛出System.OutOfMemoryException"内存不足"异常。
出现这种问题是由于souceFile文件被破坏,或者是空图片。
可以直接catch掉或在catch中做个标识。另外用
FileInfo fi=new FileInfo(souceFile);
if(fi.Length>0)
{
}
做个判断。
附:http://blog.csdn.net/Haliput/archive/2008/11/20/3339611.aspx,我尝试了该贴的情况
我直接执行Image img=Image.FromFile(Application.StartPath+“//”+souceFileName);
则不会报异常,
我按照该帖作者的代码执行 :按Ctrl+F5执行,会报出该异常。如果我直接按F5调试执行者不会报该异常。