gpt4 book ai didi

C# - 该进程无法访问该文件,因为它正被另一个进程使用

转载 作者:太空宇宙 更新时间:2023-11-03 17:45:52 26 4
gpt4 key购买 nike

 public static void CopyImage(Image picToSave, string name)
{
if (picToSave.Source != null)
{
BitmapImage src = (BitmapImage)picToSave.Source;
if (!Directory.Exists("Images"))
{
Directory.CreateDirectory("Images");
}

FileStream stream = new FileStream("Images/" + name + ".jpg", FileMode.Create);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(src));
encoder.Save(stream);
stream.Close();
}



}

当我选择/Images 目录中已存在的文件时出现问题,我猜它只是无法覆盖,在“FileStream”行抛出异常(我猜是 FileMode.Create)。

如果我选择一个不在/Images 目录中的文件,它可以正常工作,并将文件复制到图像目录中,就像它应该的那样。

谢谢你:)

最佳答案

您首先是如何加载图像的?如果您没有更改 CacheOption 的默认值,该文件将被 BitmapImage 对象锁定。您需要指定 BitmapCacheOption.OnLoad:

BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = imageUri;
image.CacheOption = BitmapCacheOption.OnLoad;
image.EndInit();

关于C# - 该进程无法访问该文件,因为它正被另一个进程使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com