2013-10-07 71 views
0

我已經創建了一個按鈕,它可以上傳所有圖片文件以及系統中的文檔文件和PDF文件。 這裏是下面的代碼:如何解決內存不足異常錯誤?

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

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

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

     } 

    } 

但我有一個錯誤坡平,當我想上傳一個DOC文件。首先可以上傳文檔文件?如果是,則我有在下面的行的代碼表示出來的存儲器的問題

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

此代碼似乎將圖像加載到圖片框。與上傳無關。你能澄清你在做什麼嗎? – Kami

+0

[查看Image.FromFile的文檔](http://msdn.microsoft.com/zh-cn/library/stf701f5.aspx) –

回答

1

PictureBox控制僅用於示出在應用WinForm圖像(看一看MSDN)。要顯示在您的應用程序.doc文件的內容,你必須使用word或者一些解決方法(如發佈here

0

請在link從MSDN採取參考。它會拋出OutOfmemoryException當您加載圖片有不適當的格式。

要解決你的問題,你應該檢查圖片文件的格式,而不是像上面直接加載。

請參考here瞭解如何檢測圖像文件的格式。

要載入PDF或Word文檔,您應該參考here

0

你得到該錯誤的原因是因爲doc文件不是有效的圖像格式。

此文檔中概述:http://msdn.microsoft.com/en-us/library/stf701f5.aspx

就可以上傳文件doc但不是在使用Image.FromFile你想要的背景下,即並將其分配給一個圖片框對象。

0

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

出覆蓋該主題的內存異常。

如果文件類型無效,FromFile方法將引發異常。

您應該首先對文件類型的兼容性進行必要的檢查,更不用說繞過此方法的try catch,以確保您的代碼儘可能防禦。