0

sqlserver に画像フィールドがあります。

データベースに行を挿入するとき、このコードで myimage をバイトに変換します。

 Image img = Image.FromFile("D:\\Test.PNG");
 ImageConverter converter = new ImageConverter();
 enter.Pic = (byte[])converter.ConvertTo(img, typeof(byte[]));

このレコードを読みたいときは、次のコードでバイトをイメージに変換します:

  ImageConverter ic = new ImageConverter();
  Image img = (Image)ic.ConvertFrom(enter.Pic);

しかし、バイトを画像に変換すると、エラーが発生します

パラメータが無効です

4

1 に答える 1

2

File.ReadAllBytes画像をバイト配列に変換するには、次のメソッドを直接使用できます。

enter.Pic = File.ReadAllBytes(@"D:\Test.PNG");

Imageバイト配列をインスタンスに戻すには、次のようにします。

using (Stream stream = new MemoryStream(enter.Pic))
using (Image image = Image.FromStream(stream))
{
    // use the image here
}
于 2012-12-19T06:42:03.623 に答える