2017-10-19 7 views
0

blob 데이터를 html 이미지 객체로 읽으려고합니다. 나는 그 과정에서 파일 생성과 처리를 피하고자한다. (피할 수없는 한).Entity Framework Blob 데이터를 html로 읽는 img

studentID | firstname | photo 
----------+-----------+------------ 
93  |Eva  | Blob data 

StudentEntity.cs : 내 현재 코드는

데이터 테이블

다음과 같이 데이터는보기로 전송됩니다
public class ShortStudent 
{ 
    public string firstname { get; set; } 
    public int studentid { get; set; } 
    public string photo { get; set; } 
} 

ShortStudent sd = new ShortStudent(); 

sd.firstname = <name from db>; 
sd.photo = Convert.ToBase64String(Serialize(<Blob data from db>)); 
.... 
return Json(sd, JsonRequestBehavior.AllowGet); 

직렬화 :

private byte[] Serialize(string p) 
{ 
    var binaryFormatter = new BinaryFormatter(); 
    var ms = new MemoryStream(); 
    binaryFormatter.Serialize(ms, p); 
    return ms.ToArray(); 
} 

자바 스크립트 :

<img src="data:image/gif;base64,#= data.photo #" alt="<image not found>" /> 

내가 제대로 만 표시 몇 가지 예를 들어 데이터에 넣어 아닌 경우 데이터베이스에서 제공되는 데이터 (DB 데이터 직렬화 및 변환 후에는 크기가 3 배 예제 데이터)

답변

0

문자열 대신에 단순히 이미지 데이터를 바이트 []로 읽어야 만했습니다.

StudentEntity.cs

public class ShortStudent 
{ 
    public string firstname { get; set; } 
    public int studentid { get; set; } 
    public byte[] photo { get; set; } 
} 

sd.photo = Convert.ToBase64String(Serialize(<Blob data from db>)); 

string img = Convert.ToBase64String(<Blob data from db>); 

을 변경하고 JSON

+1

니스를 보내, 내가 같은 지적하고 있었다. – Hackerman

+0

내 질문을 확인해 주셔서 감사합니다 :) – Samra