I Mitarbeiter Profil-Bild von Datenbank am Anzeigen Handler verwenden. Bilder werden im Internet Explorer zwar angezeigt, in Chrome und Firefox werden sie jedoch nicht angezeigt. Was könnte das Problem sein?Bild-Handler Bilder zeigen, die nicht in Chrome und FF
Hier ist mein Code:
aspx:
<% img_profile.ImageUrl="~/Handler.ashx?empcd="+Session["empcd"].ToString() ;
%>
<asp:Image CssClass="img-rounded img-responsive profile" runat="server" ID="img_profile" Width="150" Height="150" />
Image Handler-Code:
public void ProcessRequest(HttpContext context)
{
try
{
OracleDataReader rdr = null;
OracleConnection dbConn;
dbConn = Conn.getConn();
string empcd = context.Request.QueryString["empcd"].ToString();
OracleCommand cmd = new OracleCommand("select photo img from olphrm.emp_personal where emp_code='"+empcd+"'", dbConn);
dbConn.Open();
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
context.Response.BinaryWrite((byte[])rdr["img"]);
}
if (rdr != null)
rdr.Close();
}
catch (Exception ex)
{
}
}
Dies ist die Ausgabe auf Chrome:
[! [ Bildbeschreibung hier] [1]] [1]
Vielen Dank im Voraus für Ihre Hilfe geben !!!
UPDATE:
ich den folgenden Code in meinem Aspx-Seite hinzugefügt haben, jetzt das Bild person.png angezeigt wird, bedeutet dies, dass es ein Fehler ist .Wie kann ich diesen Fehler zu finden und lösen?
<% img_profile.ImageUrl="~/Handler.ashx?empcd="+Session["empcd"].ToString() ;
img_profile.Attributes["onerror"] = "this.src='Images/person.png';";
%>
Wie und wo soll ich diese Methode nennen? –
hat gerade die Antwort geändert. geändert am: context.Response.BinaryWrite ((byte []) rdr [ "img"]); –
Ich habe es versucht, nicht funktioniert –