在运行时删除图像
我正在尝试使用以下方法删除图像: (文件路径 100% 正确)
if(File.Exists(filePath))
File.Delete(filePath);
,我收到以下异常:
mscorlib.dll 中发生“System.IO.IOException”类型的未处理异常
其他信息:该进程无法访问文件“C:\visual_programming\yad2\yad2\bin\Debug\images\1.jpg”,因为该文件正在被另一个进程使用。
I am trying to delete an image with the method:
(the file path is correct by 100%)
if(File.Exists(filePath))
File.Delete(filePath);
and I am getting the following exception :
An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll
Additional information: The process cannot access the file 'C:\visual_programming\yad2\yad2\bin\Debug\images\1.jpg' because it is being used by another process.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于直接绑定到 Image 控件的 ImageSource 的图像来说,这是一个常见问题。您应该通过 BitmapImage 创建 ImageSource 并将 BitmapImage.CacheOption 属性设置为 BitmapCacheOption.OnLoad:
MSDN 上有关 BitmapImage.CacheOption 的更多详细信息
It's a common issue for the images that are binded directly to ImageSource of the Image control. You should create the ImageSource through BitmapImage and set BitmapImage.CacheOption property to BitmapCacheOption.OnLoad:
More Details about BitmapImage.CacheOption on MSDN
它准确地告诉你出了什么问题;另一个进程当前正在访问该文件。
有关如何识别该进程的一些建议,请参阅此处。
It's telling you exactly what's wrong; another process is currently accessing the file.
See here for some suggestions as to how you can identify that process.