2014-09-22 88 views
0

我將圖像存儲爲Base64,但我無法顯示它們。我使用ASP.NET,這裏是部分代碼:顯示Base64圖像

int visitorId = int.Parse(Request.QueryString["id"]); 
classes.Visitor visitor = new classes.Visitor(visitorId, PageExtension_CurrentUser.Community.Id); 

StringBuilder sb = new StringBuilder(); 
sb.Append("<table>"); 
sb.Append(@"<tr><td colspan=""2""><div style=""width:320px; height:240px; border: 1px dotted #000;"">"); 

if (visitor.VisitorImage != "") 
{ 
    sb.Append(@"<img style=""width:320px; height:240px;"" alt="" src=""data:image/jpeg;base64, " + visitor.VisitorImage + @""" />"); 
} 
else 
{ 
    sb.Append(@"No image"); 
} 

sb.Append("</div></td></tr>"); 

sb.Append("<tr><td style='width:200px;'><b>Visitor Name</b></td><td>" + visitor.GetFullname() + "</td></tr>"); 
sb.Append("<tr><td><b>Company/Address</b></td><td>" + visitor.AddressOrCompany + "</td></tr>"); 

而有趣的是,:

  1. 用虛線邊框的DIV顯示,但沒有圖像顯示。
  2. 其餘不打印?
  3. 圖像數據很好,我已經在http://base64online.org/decode/上測試過了,我看到了用於測試的圖像。

我假設它是數據,但它爲什麼不顯示?有任何想法嗎?

+0

添加雙引號也在這裏'ALT =「」「」'查看源代碼,看看什麼是渲染 – Aristos 2014-09-22 08:16:13

回答

0

這行代碼是錯誤的:

sb.Append(@"<img style=""width:320px; height:240px;"" alt="" src=""data:image/jpeg;base64, " + visitor.VisitorImage + @""" />"); 

它應該是:

sb.Append(@"<img style=""width:320px; height:240px;"" alt="""" src=""data:image/jpeg;base64, " + visitor.VisitorImage + @""" />");