为了账号安全,请及时绑定邮箱和手机立即绑定

System.Drawing.Image.FromFile()上的内存不足异常

System.Drawing.Image.FromFile()上的内存不足异常

明月笑刀无情 2019-10-31 14:11:58
我有一个创建缩略图的图像上传器和裁剪器,有时在以下行中遇到内存不足异常:Dim bm As Bitmap = System.Drawing.Image.FromFile(imageFile)错误的发生很小,而且非常罕见,但是我始终喜欢知道是什么原因引起的。imageFile变量只是图像路径的Server.MapPath。我很好奇,是否有人以前曾遇到过此问题,以及是否有任何想法可能导致此问题?图像的大小吗?我可以在必要时发布代码以及我所拥有的任何支持信息,但是很想听听人们对此的看法。
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

这是值得了解OutOfMemoryException异常并不总是真的意味着它的内存不足-特别是不与文件打交道时。我相信,如果由于某种原因用尽了句柄,也会发生这种情况。

完成位图处理后,您是否要处理掉它们?单张图像会重复发生吗?


查看完整回答
反对 回复 2019-10-31
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

我今天在为包含图像的文件夹创建缩略图图像时遇到了同样的问题。事实证明,“内存不足”每次都恰好在同一时间发生。当我查看包含要转换图像的文件夹时,我发现造成问题的文件是thumbs.db。我添加了一些代码以确保仅图像文件被转换并且问题得以解决。


我的代码基本上是


For Each imageFile as FileInfo in fileList

If imageFile.Extension = ".jpg" Or imageFile.Extension = ".gif" Then

    ...proceed with the conversion

End If

Next

希望这可以帮助。


查看完整回答
反对 回复 2019-10-31
  • 3 回答
  • 0 关注
  • 2777 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信