2011-10-24 5 views
0

ASP.NET 응용 프로그램 (프레임 워크 2.0 사용)에서이 응용 프로그램의 ORM은 Subsonic 2.2이며, 처음 작업했습니다.C# 및 Subsonic을 사용하여 이미지를 SQL Server 이미지로 저장

나는 내가 URL에서 검색 한 이미지를 가지고 있고, 나는이처럼, 나는 이미지로 변환 한 HttpWebResponse 클래스 객체를 가지고 :

는 SQL 서버에서
string uri = ...; 
    HttpWebRequest lxRequest = (HttpWebRequest) WebRequest.Create(uri); 
    HttpWebResponse lxResponse = (HttpWebResponse) lxRequest.GetResponse(); 
    System.Drawing.Image image = System.Drawing.Image.FromStream(lxResponse.GetResponseStream()); 

, 나는했습니다 이미지 열 (다른 이진 형식 일 수 있습니다. 문제가 아닙니다.)을 만들고 이미지를 작성하고 싶습니다. 또한 열에서 읽는 방법을 알고 이미지가 올바르게 저장되었는지 테스트 해보고 싶습니다.

도움을 주시면 감사하겠습니다. 감사.

+0

이미지가 SQL 서버에서 감가 상각 데이터 타입이다. –

+0

좋은 지적. 내가 할게. – draconis

답변

1

도움이 될 수도, 음속은 byte[] 속성을 만듭니다.

따라서 바이트 배열에서 (이 경우 System.Drawing.Image를) 에와 당신의 데이터를 변환해야합니다.

Othersites이 뻔뻔하게 복사, 덮여있다 : 당신이 VARBINARY (최대)로 데이터베이스에서 데이터 유형을 변경할 수 있도록

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; 
} 
+0

감사합니다. 이것은 내가 필요한 것입니다. – draconis

0

Read and write SQL image data 봤어, 이것은 image 열를 들어 당신에게

+0

링크를 가져 주셔서 감사하지만 데이터가 바이너리 형식이 아니며 ADO.NET 연결을 사용하지 않습니다. – draconis

+0

어떤 데이터 유형을 사용하고 있습니까? –