首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >该进程无法访问文件'C:\Photo.jpg‘,因为该文件正被另一个进程使用

该进程无法访问文件'C:\Photo.jpg‘,因为该文件正被另一个进程使用
EN

Stack Overflow用户
提问于 2013-04-09 13:00:55
回答 1查看 2.2K关注 0票数 1

我正在尝试调整上传的图像大小,并通过替换现有文件将其保存在特定位置。但是这会给我一个错误,说“该进程无法访问文件'C:\Photo.jpg‘,因为它正被另一个进程使用。”

这是我的代码。

代码语言:javascript
运行
复制
private void llblChangePlayerPicture_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            ofdPlayerPicture.Reset();
                ofdPlayerPicture.Filter = "JPEG(*.jpeg,*.jpg)|*.jpeg;*.jpg|Bitmap (*.bmp)| *.bmp |PNGs(*.png)|*.png";
                ofdPlayerPicture.ShowDialog();
                Image newImage;
                if (ofdPlayerPicture.FileName != "")
                {
                    pboPlayerPicture.Image = null;
                    pboPlayerPicture.ImageLocation = null;
                    newImage = Resize(Image.FromFile(ofdPlayerPicture.FileName), new Size(250, 100));
                    SaveJpeg(Program.playerImagePath + regNo + "\\Photo1.jpg", newImage, 100);
               }

这是我的保存图像

代码语言:javascript
运行
复制
 public static void SaveJpeg(string path, Image img, int quality)
            {
                EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
                ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
                EncoderParameters encoderParams = new EncoderParameters(1);
                encoderParams.Param[0] = qualityParam;
                System.IO.MemoryStream mss = new System.IO.MemoryStream();
                System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite);
                img.Save(mss, jpegCodec, encoderParams);
                byte[] matriz = mss.ToArray();
                fs.Write(matriz, 0, matriz.Length);

                mss.Close();
                fs.Close();
                mss.Dispose();
                fs.Dispose();
            }

如果我想使用File.Delete函数删除Photo.jpg,它会给我同样的问题。任何帮助都将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-09 18:29:10

找到了解决方案。处理所有对象,以及使用图像的图片框。它是在同一控件中使用还是在不同控件中使用。每次更改图像时,在主控件中重新创建图片框控件。对我来说完全没问题。

希望这是有用的。

快乐编码

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15893668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档