win7系统,winform程序。
做的是一个关于管理个人信息的winform项目,其中有利用picturebox上传个人照片并保存照片路径到数据库,第一次选择照片可以成功上传和显示,但是如果要做修改照片或者如果第一次选错了第二次选择时不成功。
首次选择照片代码如下:
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Title = "请选择要插入的图片";
ofd.CheckFileExists = true;
ofd.CheckPathExists = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
string oldName = ofd.FileName;
string[] splitName = oldName.Split('.');
string ext = splitName[splitName.Length - 1];
string dbName = "Photos/" + R_id + "." + ext;
string newName = AppDomain.CurrentDomain.BaseDirectory + dbName;
File.Copy(oldName, newName, true);
Image img = Image.FromFile(newName);
pictureBox1.Image = img;
pictureBox1.ImageLocation = dbName;
}
}
这个时候可以成功选择照片,可以把照片从oldName的路径下复制到项目Photo文件夹newName路径下并且可以成功显示在picturebox中。
但是如果第一次选择照片选择错了,需要再次选择时就会报错:图片(相对项目的路径)“正由另一进程使用,因此该进程无法访问此文件”。第一次上传成功了的话,再次编辑时也是一样的错误。
我尝试过在重新选择时,如果选择成功就把原图片删除再上传,但是也不行。。。
求大神帮帮忙~~