0

システム内のすべての pic ファイル、doc ファイル、PDF ファイルをアップロードできるボタンを作成しました。次のコードは次のとおりです。

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

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

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

        }

    }

しかし、ドキュメントファイルをアップロードしたいときにエラーが表示されます。まず、ドキュメントファイルをアップロードできますか? はいの場合、次のコード行でメモリ不足を示す問題があります

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

4 に答える 4

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 に答える
0

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

そのトピックで説明されているメモリ不足例外。

ファイルの種類が無効な場合、FromFile メソッドは例外をスローします。

最初にファイル タイプの互換性について必要なチェックを行う必要があります。また、このメソッドを try キャッチでラップして、可能な限り防御的にコーディングしていることを確認することは言うまでもありません。

于 2013-10-07T09:26:37.627 に答える