如何解决Out of Memory异常错误?

时间:2013-10-07 09:21:06

标签: c#

我创建了一个按钮,可以上传所有图片文件以及系统中的doc文件和PDF文件。 以下是以下代码:

        if (dlg.ShowDialog() == DialogResult.OK)
        {

            pictureBox2.Image = Image.FromFile(dlg.FileName);

            pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
            currentFileName = dlg.FileName;
            button2.Enabled = true;

        }

    }

但是当我想要上传doc文件时,我会弹出一个错误。首先是可以上传doc文件吗?如果是,那么我在下面的代码行中显示内存不足的问题

pictureBox2.Image = Image.FromFile(dlg.FileName);

4 个答案:

答案 0 :(得分:1)

PictureBox控件仅用于在WinForm应用程序中显示图像(请查看MSDN)。要在您的应用中显示.doc个文件内容,您必须使用word或某些解决方法(例如发布here

答案 1 :(得分:0)

请参阅MSDN的link。加载图片时,如果格式不合适,会抛出OutOfmemoryException。

要解决您的问题,您应该检查图片文件的格式,而不是像上面那样直接加载。

请参考here以了解如何检测图像文件的格式。

要加载PDF或Word文档,您应该参考here

答案 2 :(得分:0)

您收到该错误的原因是doc文件不是有效的图像格式。

文档中概述了这一点:http://msdn.microsoft.com/en-us/library/stf701f5.aspx

可以上传doc文件,但不能在您想要的上下文中,即使用Image.FromFile并将其分配给图片框对象。

答案 3 :(得分:0)

http://msdn.microsoft.com/en-us/library/stf701f5.aspx

该主题中涉及的Out of Memory异常。

如果文件类型无效,FromFile方法将抛出异常。

你应该首先对文件类型的兼容性进行必要的检查,更不用说围绕这种方法包装一个try catch,以确保你的编码尽可能的防御。