gpt4 book ai didi

c# - 如何正确删除存储文件?

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:22 27 4
gpt4 key购买 nike

在我的 Windows 应用商店应用程序中,我的存储文件夹中有一些文件(图像)。

然后,当我想使用图像时,我会像这样创建位图:

BitmapImage BitmapImage = new BitmapImage(new Uri("full_file_path"));

我的 Image 控件有 ImageSource = "{Binding Path=BitmapImage}"
一切都很好。但是当我想删除我的文件时,我使用:

BitmapImage = null;

然后:

  try
{
await storageFile.DeleteAsync(StorageDeleteOption.Default);
}
catch (UnauthorizedAccessException e)
{
// and I get exception here.
}

问题:如何正确删除文件?

最佳答案

听起来您正在尝试删除已加载的图像文件。该文件将保持锁定状态,直到图像被处理掉。在我看来,我认为你应该在加载图像后复制图像,并在图像控件中使用该图像副本

您可以在您的场景中使用以下代码,而无需在删除前处理图像,

BitmapImage bmpImage = new BitmapImage();
bmpImage.BeginInit();
Uri uri = new Uri(filePath,UriKind.RelativeOrAbsolute);
bmpImage.UriSource = uri;
bmpImage.CacheOption = BitmapCacheOption.OnLoad;
bmpImage.EndInit();

看看有没有帮助。 :)

关于c# - 如何正确删除存储文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21180165/

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