1.文件正由另一进程使用,因此该进程无法访问该文件

问题描述:

this.pictureBox1.Image=Image.FormFile(sourceFile);

...

把sourceFile移动到另外一个文件夹

if(this.pictureBox1.Image!=null)

{

  this.picutreBox1.Image.Dispose();

}

File.Copy(sourceFile,destinatFile);

File.Delete(sourceFile);

结果时不时的在File.Delete(sourceFile);处抛出异常:文件正由另一进程使用,因此该进程无法访问该文件。

File.Copy(sourceFile,destinatFile);

File.Delete(sourceFile);

换成:File.Move(sourceFile,destinatFile);问题依然如故。

问题应该在this.pictureBox1.Image=Image.FormFile(sourceFile);在msdn上Image.FromFile(string)

有这样的描述:在释放 Image 之前,此文件一直保持锁定。

解决办法:

Image img1=Image.FromFile(sourceFile);

Image img2=new Bitmap(img1);

img1.Dispose();

this.pictureBox1.Image=img2;

2.内存不足,或GDI+发生了一般性错误。

问题描述:在Image.FromFile(souceFile)出抛出System.OutOfMemoryException"内存不足"异常。

出现这种问题是由于souceFile文件被破坏,或者是空图片。

可以直接catch掉或在catch中做个标识。另外用

FileInfo fi=new FileInfo(souceFile);

if(fi.Length>0)

{

}

做个判断。

附:http://blog.csdn.net/Haliput/archive/2008/11/20/3339611.aspx,我尝试了该贴的情况

我直接执行Image img=Image.FromFile(Application.StartPath+“\\”+souceFileName);

则不会报异常,

我按照该帖作者的代码执行 :按Ctrl+F5执行,会报出该异常。如果我直接按F5调试执行者不会报该异常。

转载于:https://www.cnblogs.com/shunliy/archive/2009/12/15/1624901.html

Image.FormFile引起的若干问题相关推荐

  1. 用python下载文件的若干种方法汇总

    压缩文件可以直接放到下载器里面下载的 you-get 连接 下载任意文件 重点 用python下载文件的若干种方法汇总 写文章 用python下载文件的若干种方法汇总 zhangqibot发表于Met ...

  2. oracle查询不走索引全表扫描,使用索引快速全扫描(Index FFS)避免全表扫描的若干场景-Oracle...

    使用索引快速全扫描(Index FFS)避免全表扫描的若干场景 什么使用使用Index FFS比FTS好? Oracle 8的Concept手册中介绍: 1. 索引必须包含所有查询中参考到的列. 2. ...

  3. 急!!!求从字符串中提取形如: div([MC0010000000006],此若干个字符或数字,0) 的正则表达式...

    如题, 形如: div([MC0010000000006],此处有若干个字符或数字, 此处只有一个字符) 静坐等待.

  4. 关于页游垂直同步的若干问题

    这个问题要从人眼感觉抖动的原因来分析 第一种情况是常说的屏幕撕裂,就是垂直同 步的事情,可以简单理解为显存的数据更新跟屏幕的绘制刷新缺少同步,一次屏幕刷新的结果可能是多次显存更新的片段集合,这种情况只 ...

  5. OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。【答案】C B

    OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64):存根区域(stub)的特点是(65). (64)A.不接受本地AS之外的路由信息,也不接受其他区域的路由汇总 ...

  6. ACNO.15猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再

    题目描述 猴子吃桃问题.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃一个.以后每天早上都吃了前一天剩下的一半零一个.到第N天早上想再吃时,见 ...

  7. php判断数组不重复的元素,php从数组中随机选择若干不重复元素

    php从数组中随机选择若干唯一元素 /* * $array = the array to be filtered * $total = the maximum number of items to r ...

  8. 4、题目要求:读入N名学生的成绩,将获得某一给定分数的学生人数输出。 * * 输入格式:测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的成绩,相邻两数字用一个

    题目: /* 4.题目要求:读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式:测试输入包含若干测试用例,每个测试用例的格式为   第1行:N   第2行:N名学生的成绩,相邻两数字用一 ...

  9. python使用matplotlib可视化、使用subplots函数将可视化的画布划分为网格状的若干子区、通过nrows和ncols参数设置设置行数和列数

    python使用matplotlib可视化.使用subplots函数将可视化的画布划分为网格状的若干子区.通过nrows和ncols参数设置设置行数和列数 目录

  10. R语言dplyr包将dataframe中的NA值替换(replace)为0实战:所有NA值替换(replace)为0、具体列的NA值替换(replace)为0、若干列的NA值替换(replace)为0

    R语言dplyr包将dataframe中的NA值替换(replace)为0实战:所有NA值替换(replace)为0.具体列的NA值替换(replace)为0.若干列的NA值替换(replace)为0 ...

最新文章

  1. android中有关invisible,visible,gone的区别
  2. crontab脚本,定时任务相关细节
  3. 概率统计:第八章:假设检验
  4. ubuntu deepin等debian系Linux发行版安装docker-ce命令
  5. PL/SQL Developer中如何格式化SQL
  6. QT的QAudioProbe类的使用
  7. Struts1.x的架构一个简图
  8. MyBatis之快速入门
  9. Kubernetes-命名空间token(十五)
  10. android java tga转png_java 里.tga图片怎么用啊,是不是要导入一个包,真的找不到资源,希望来位大神帮帮我 小弟在此拜谢!...
  11. 通俗易懂!视觉slam第十部分——贝叶斯估计
  12. spark union 会引起shuffle吗_脑鸣不是耳鸣 会引起听力下降吗?
  13. hal linux 手册_Linux服务之:haldaemon服务 | 旺旺知识库
  14. tracert工作原理
  15. python游戏挂机脚本_python游戏挂机
  16. 谈谈我对Ui设计师的一些观点
  17. MEncoder的基础用法—6.5. 编码为MPEG格式
  18. html2d动画,HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
  19. python自动化测试面试题大全带答案_Python自动化测试笔试面试题精选
  20. 怎样隐藏Android软件盘

热门文章

  1. Cesium - 地形瓦片(Quantized-mesh)
  2. 解决SVN Files 的值“xxxxxxx .mine”无效 问题
  3. SqlServer中检查数据表是否存在
  4. MySQL 索引最左匹配原则的理解
  5. 13. Use Objects to manage resources.
  6. ahb总线协议主机_AMBA总线协议之一文看懂AMBA2 AHB2与AMBA3 AHBLite总线协议的区别
  7. python股票交易微信提醒_python实现秒杀商品的微信自动提醒功能(代码详解)
  8. php制作调查问卷,用PHP制作饼图调查表
  9. Python基础知识笔记(一)
  10. 设置linux中docker中的mysql开机自动启动