Image img=imageFromFile(sourceFileName);
File.Delete(sourceFileName);
当从文件中读取图片后,再删除文件,出现文件正在使用,不能删除问题。
主要是读取文件后,资源没有得到释放。
/// <summary>
/// 获取图像
/// </summary>
/// <param name="fileName">文件名</param>
/// <returns></returns>
private Image GetImageFromFile(string fileName)
{
Image image = null;
//得到图片的二进制码流
using (FileStream inFs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Read))
{
byte[] buf = new byte[inFs.Length];
BinaryReader br = new BinaryReader(inFs);
br.Read(buf, 0, buf.Length);
MemoryStream ms = new MemoryStream(buf);//创建流
image = Image.FromStream(ms);//从流中创建image对象
ms.Close();
br.Close();
inFs.Close();
inFs.Dispose();//释放资源
}
return image;
}