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

我有一个创建缩略图的图像上传器和裁剪器,有时在以下行中遇到内存不足异常:


Dim bm As Bitmap = System.Drawing.Image.FromFile(imageFile)

错误的发生很小,而且非常罕见,但是我始终喜欢知道是什么原因引起的。imageFile变量只是图像路径的Server.MapPath。


我很好奇,是否有人以前曾遇到过此问题,以及是否有任何想法可能导致此问题?图像的大小吗?


我可以在必要时发布代码以及我所拥有的任何支持信息,但是很想听听人们对此的看法。


明月笑刀无情
浏览 2550回答 3
3回答

蛊毒传说

这是值得了解OutOfMemoryException异常并不总是真的意味着它的内存不足-特别是不与文件打交道时。我相信,如果由于某种原因用尽了句柄,也会发生这种情况。完成位图处理后,您是否要处理掉它们?单张图像会重复发生吗?

猛跑小猪

我今天在为包含图像的文件夹创建缩略图图像时遇到了同样的问题。事实证明,“内存不足”每次都恰好在同一时间发生。当我查看包含要转换图像的文件夹时,我发现造成问题的文件是thumbs.db。我添加了一些代码以确保仅图像文件被转换并且问题得以解决。我的代码基本上是For Each imageFile as FileInfo in fileListIf imageFile.Extension = ".jpg" Or imageFile.Extension = ".gif" Then    ...proceed with the conversionEnd IfNext希望这可以帮助。
打开App,查看更多内容
随时随地看视频慕课网APP