Image.FromFile 之后无法删除这个文件
 
pictrue图片是从文件加载的,现在想换张图片,更改之前要删除原有的文件,在删除原有的文件出现了异常

        string path = @"C:\Users\Administrator\source\repos\MemoryCardLite\MemoryCardLite\bin\x86\Debug\images\a.jpg";
private void Form1_Load(object sender, EventArgs e)
{ //加载
pictureBox1.Image = Image.FromFile(path);
} private void button2_Click(object sender, EventArgs e)
{ //删除
File.Delete(path);
}

解决办法
使用 Stream

Stream s = File.Open(path, FileMode.Open);
pictureBox1.Image = Image.FromStream(s);
s.Close();
string filename = @"C:\Users\Administrator\source\repos\MemoryCardLite\MemoryCardLite\bin\x86\Debug\images\a.jpg";
private void button2_Click(object sender, EventArgs e)
{ //删除
File.Delete(filename); //再加载图片
filename = @"C:\Users\Administrator\source\repos\MemoryCardLite\MemoryCardLite\bin\x86\Debug\images\b.jpg";
pictureBox1.Image = LoadImage(ofd.FileName);
} public Image LoadImage(string path)
{
Image img = null;
if (File.Exists(path))
{ //加载
Stream s = File.Open(path, FileMode.Open);
img = Image.FromStream(s);
s.Close();
}
return img;
} private void Form1_Load(object sender, EventArgs e)
{
LoadImage(filename);
}

2019年12月8日 19:13:03

Image.FromFile 之后无法删除这个文件的更多相关文章

  1. Android创建或删除了文件,在电脑端查看的时候,却没有对应的变化,处理办法

    在Android应用中,碰到一个问题,在代码中执行创建或者删除某个文件后,在系统的文件管理器中能够相应地看到文件的变化,但是插在电脑上查看的时候,却看不到改文件的变化.同时,当创建文件后,在系统中的某 ...

  2. int.TryParse非预期执行引发的思考 ASP.NET -- WebForm -- 给图片添加水印标记 Windows -- 使用批处理文件.bat删除旧文件

    int.TryParse非预期执行引发的思考   问题出现 这天在写一个页面,想谨慎些就用了int.TryParse,结果出问题了. 代码如下: Copy int id = 1000; //Reque ...

  3. Windows下删除.svn文件夹的最简易方法

    建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCA ...

  4. bat 延时删除指定文件夹中的文件经验分享

    1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...

  5. Linux rm删除大批量文件

    在使用rm删除大批量文件时,有可能会遭遇"参数列太长"(Argument list too long)的问题.如下所示 [oracle@DB-Server bdump]$ rm - ...

  6. Win7如何删除需要管理员权限才能删除的文件夹

    在Windows 7系统运行中.往往会遇到想要删除某个文件夹时,系统提示:文件夹访问被拒绝 你需要权限来执行此操作,如何才能删除此类文件夹呢? ------------------ --------- ...

  7. PHP批量清空删除指定文件夹内容

    PHP批量清空删除指定文件夹内容: cleancache.php <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../ ...

  8. gulp使用技巧-删除node_modules文件夹,解决目录层次太深删除报错的问题

    问题描述: 在使用gulp当中,自动生成的node_modules文件夹,因为文件目录层级太深,无法系统删除,用360粉碎工具也报错 解决方法: 使用npm中的插件rimraf,专门用于删除的模块插件 ...

  9. SQLServer2005删除log文件和清空日志的方案

    数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日 ...

随机推荐

  1. python多进程并发插入mysql数据

    import pymysql import traceback from multiprocessing import Pool,Manager,cpu_count from multiprocess ...

  2. 启动Nginx服务失败:Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

    首次接触nginx,安装完使用命令 service nignx restart  后,出现这个错误,并按照提示给出的命令查看错误详情  systemctl status nginx.service   ...

  3. viewer与 iview Carousel(走马灯) 结合使用,图片无法显示

    问题原因:iview Carousel (走马灯)在加载是如果没有图片 它没有高度.之后给src赋值,图片无法显示,拖动一下浏览器宽或搞它就会显示. 走马灯解决这个问题方法:1在Carousel或其父 ...

  4. buffer和cache区别?

    写入数据到内存里,这个数据的内存空间称为缓冲区(buffer) 从内存读取数据,这个存储数据的内存空间称为缓存区(cache) 由于大部分网站以读取为主,写入为辅,所以并发写入一般不是问题.

  5. layui 多个文件上传控件 整合缩减代码

    // 图片上传 upload.render({ elem: '.upload-img' // 点击上传的按钮统一使用该类 ,url: "{:url('image/upload')}" ...

  6. 限制mongoDB内存的方法

    docker运行MongoDB,针对于docker容器来进行内存资源的限制 修改MongoDB的运行配置文件,并且重启mongodb storage: dbPath: /var/lib/mongodb ...

  7. WampServer详解

    php能做什么,它是运行在服务器端的,web网站大部分数据都是存储在服务器上的,PHP就是用来处理这些存储在服务器的数据.跨平台,服务器可以是多种平台上的服务器,脚本语言,免费. wampserver ...

  8. 自制php操作mysql工具类(DB.class.php)

    DB.class.php <?php class DB{ //主机地址 var $host; //用户名 var $username; //密码 var $password; //数据库名 va ...

  9. 快速入门 Python 数据分析实用指南

    Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一.那么作为一个新手小白,该如何快速入门 Python 数据分析呢? 下面根据数据分析的一般工作流程,梳理了相关知识技能以及学习 ...

  10. node gm图片操作

    1,安首先要安装 GraphicsMagick或者ImageMagick 2,npm install gm   --save 3,编码测试 var fs = require('fs') //graph ...