2011-02-16 6 views
3

나는 ASP 페이지가 있습니다. ASP 페이지에서 나는 이미지 컨트롤을 가지고있다. 이미지 컨트롤 내에 이미지가 있습니다. 이 이미지를 데이터베이스에 저장하려고합니다. 데이터베이스에서 특정 필드 데이터 유형은 이미지입니다. 그게 어떻게 가능해?데이터베이스에 이미지를 저장

+0

왜 파일 시스템 대신 데이터베이스를 선호합니까? –

+0

질문에 대한 답변을 수락하십시오. 그것은 다른 사람들이 앞으로 귀하의 질문에 대답하도록 동기를 부여합니다. – JPReddy

답변

4

확인이 문서 아웃 :

FileUpload img = (FileUpload)imgUpload; 
Byte[] imgByte = null; 
if (img.HasFile && img.PostedFile != null) 
{ 
    //To create a PostedFile 
    HttpPostedFile File = imgUpload.PostedFile; 
    //Create byte Array with file len 
    imgByte = new Byte[File.ContentLength]; 
    //force the control to load data in array 
    File.InputStream.Read(imgByte, 0, File.ContentLength); 
} 

을 다음 사용 : 위의 문서는 다음과 같이 바이트로 이미지를 변환하는 데 필요한 모든의

처음부터 Save and Retrieve Images from the Database using ASP.NET 2.0 and ASP.NET 3.5

예 데이터베이스에 추가 할 때 값으로 imgByte.

+0

유용한 감사! – bAN

+0

이런 종류의 코드에 문제는 파일 크기만큼 바이트 배열을 할당한다는 것입니다. 즉, 1) 큰 파일에는 작동하지 않고 2) 85k보다 큰 파일에 대해서는 큰 개체 힙 (http://msdn.microsoft.com/en-us/magazine/cc534993.aspx)을 그러므로 장기적으로는 쓰레기 수거에 도움이되지 않습니다. 스트리밍 모드를 선호하지만 google에서 어떤 예도 찾을 수 없습니다. 누구든지 관심이 있다면, 조금 파고 :-) –

+0

@ 시몬, 나는 aggree. 당신은 어쨌든 당신이 좋아하는만큼 큰 이미지로 업로드 할 수 없어야합니다. 그러면 서버가 잠길 수 있습니다. –

관련 문제