在ASP.NET应用程序中(使用框架2.0),此应用程序的ORM是Subsonic 2.2,我第一次使用它。
我有一张我从网址中检索到的图片,我有一个HttpWebresponse对象,我已将其转换为图像,如下所示:
string uri = ...;
HttpWebRequest lxRequest = (HttpWebRequest) WebRequest.Create(uri);
HttpWebResponse lxResponse = (HttpWebResponse) lxRequest.GetResponse();
System.Drawing.Image image = System.Drawing.Image.FromStream(lxResponse.GetResponseStream());
在Sql Server中,我创建了一个Image列(可以是任何其他二进制格式,这不是问题),我想把我的图像写入其中。我也想知道如何从列中读取,以便测试图像是否已正确保存。
任何帮助表示赞赏。感谢。
答案 0 :(得分:1)
对于image
列,Subsonic会创建byte[]
属性。
因此,您必须将数据(在这种情况下为System.Drawing.Image
)转换为,从转换为字节数组。
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
答案 1 :(得分:0)
已查看Read and write SQL image data,这可能会对您有所帮助