【问题标题】:Deleteing an image in run time在运行时删除图像
【发布时间】:2015-07-12 17:35:03
【问题描述】:

我正在尝试使用以下方法删除图像: (文件路径100%正确)

if(File.Exists(filePath))
   File.Delete(filePath);

我得到以下异常:

在 mscorlib.dll 中发生了“System.IO.IOException”类型的未处理异常

附加信息:该进程无法访问文件 'C:\visual_programming\yad2\yad2\bin\Debug\images\1.jpg',因为它正被另一个进程使用。

【问题讨论】:

  • 你试过手动删除吗?你能确认它没有被使用吗?
  • 如果您是通过脚本创建 img,请确保先关闭文件处理程序。
  • 我确实尝试过手动删除,但手动删除没有问题

标签: wpf image delete-file


【解决方案1】:

这是直接绑定到 Image 控件的 ImageSource 的图像的常见问题。您应该通过 BitmapImage 创建 ImageSource 并将 BitmapImage.CacheOption 属性设置为 BitmapCacheOption.OnLoad:

BitmapImage bi = new BitmapImage();

// Begin initialization.
bi.BeginInit();

// Set properties.
bi.CacheOption = BitmapCacheOption.OnLoad;
// 
bi.EndInit();

More Details about BitmapImage.CacheOption on MSDN

【讨论】:

    【解决方案2】:

    它准确地告诉你出了什么问题;另一个进程当前正在访问该文件。

    请参阅here,了解有关如何识别该流程的一些建议。

    【讨论】:

    • 我知道并且可能该过程是视觉工作室,但我不知道为什么,当我打开图片并将其转换为图像时,我该如何处理它以便我可以从文件中删除它?跨度>
    猜你喜欢
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2011-03-09
    • 2019-06-22
    相关资源
    最近更新 更多