2017-03-23 52 views
0

我怎樣才能顯示圖像,而在數據庫中的圖像是圖像0xFFD8FFE00 .......無法顯示從Nvarbinary [MAX]數據庫

im使用MVC 5和EF

我的代碼來上傳圖片:

 string pic = System.IO.Path.GetFileName(file.FileName); 
     string path = System.IO.Path.Combine(
           Server.MapPath("~/Content"), pic); 
     file.SaveAs(path); 

     using (MemoryStream ms = new MemoryStream()) 
     { 
      file.InputStream.CopyTo(ms); 
      model.Image = ms.GetBuffer(); 
     } 

     var image = new Image() 
     { 
      Image1 = model.Image 
     }; 

     db.SaveChanges(); 

你可以使用視圖模型與字節[]數據類型的圖像

如何將其轉換爲圖像,並在視圖中顯示它看到即時通訊?

回答

0

你可以轉換byte[]based64字符串可以轉換爲HTML格式像

@{ 
    var base64 = Convert.ToBase64String(Model.Image); 
    var imgSrc = ($"data:image/png;base64,{base64}"); 
} 

這將圖像轉換爲base64string,我以爲Model.Imagebyte[]類型的最後加imgSrc到html標記image

<img src="@imgSrc" /> 

另一種方式是使用Viewbag所以在行動

var base64 = Convert.ToBase64String(Image); 
Viewbag.imgSrc = ($"data:image/png;base64,{base64}"); 

並鑑於使用viewbag

<img src="@Viewbag.imgSrc" />