_nice 2014-09-01 01:30 采纳率: 0%
浏览 1768

winform中picturebox修改照片

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中。
但是如果第一次选择照片选择错了,需要再次选择时就会报错:图片(相对项目的路径)“正由另一进程使用,因此该进程无法访问此文件”。第一次上传成功了的话,再次编辑时也是一样的错误。
我尝试过在重新选择时,如果选择成功就把原图片删除再上传,但是也不行。。。

求大神帮帮忙~~

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条