2011-07-29 8 views
0

次のコードを使用して、データベースに画像を保存しました。バイトボックスを画像ボックスにロード

ofd.ShowDialog() 
    vrPicHolder = IO.File.ReadAllBytes(ofd.FileName) 
    Dim drPic As DataRow 
    drPic = DsPic.tblPicTest.NewRow 
    drPic.Item("Picture") = vrPicHolder 
    DsPic.tblPicTest.Rows.Add(drPic) 
    taPic.Update(DsPic.tblPicTest) 

ここで、この画像を画像ボックスに表示します。試しました

PictureBox1.Image = Image.FromFile(vrPicHolder) 

しかし、Byte()を文字列に変換することはできません。この画像を読み込む方法を教えてください。 ありがとう Furqan

答えて

5

あなたが呼び出しているメソッドには、画像のファイル名である文字列が必要です。 BMP、GIF、JPEG、PNGまたはTIFF形式の画像のファイル名を渡す必要があります。

Image.FromFile Method (String)

あなたがやるべきことはこれです:

Dim pictureBytes as New MemoryStream(vrPicHolder) 
PicutureBox1.Image = Image.FromStream(pictureBytes) 

Image.FromStream Method (Stream)

+0

ありがとうございました。 SSRSで呼び出す方法についてもお伝えください。ファイルからは式を使用できます =ファイル://image.jpg ストリームについて –

+0

申し訳ありません - SSRSでお手伝いできません。私はそれに取り組んでいません。別の質問として投稿するかもしれません。 – Tim

+0

あなたのコードを試しましたが、pictureBytes(オーバーロードの解像度)でエラーが発生しました。また、Imports.system.ioを追加しました。 –

1

をImage.FromFileメソッドが期待するためですファイルパスを文字列として返します。そのようないくつかの特定のパスからファイルをインポートしてみましょう。Image.FromFile Method (String)

Image.FromStream Method (Stream)です。

さらにもう1つ、完全なイメージをデータベースに設定しないでください。代わりにイメージを物理的なパスに保存し、このパスをデータベースから参照してください。

関連する問題