0

我创建了一个按钮,它可以上传系统中的所有图片文件以及 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

4 回答 4

0

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

该主题中涵盖了内存不足异常。

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

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

于 2013-10-07T09:26:37.627 回答
0

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

于 2013-10-07T09:25:08.350 回答
0

请参考 MSDN 的链接。当您加载的图片格式不合适时,它会抛出 OutOfmemoryException。

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

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

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

于 2013-10-07T09:25:14.983 回答
0

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

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

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

于 2013-10-07T09:25:23.347 回答