К сожалению, я не могу отобразить свое изображение с помощью repater и generic handler, который я назвал ImageHandler.ashx, возможно, я делаю что-то неправильно, и я не могу определить ошибку самостоятельно ,Изображение не отображается ASP.NET (Generic handler.ashx)
Вот мой код (кстати, это первый раз, когда я использую этот общий обработчик в сочетании с ретранслятором, чтобы получить мои изображения из баз данных, и я застрял здесь).
Вот мой код:
<table class="table table-hover" style="margin-top: 50px; background-color: white;">
<tr>
<th>Name</th>
<th>Last Name</th>
<th>Photo</th>
</tr>
<asp:Repeater ID="repPlayers" runat="server" OnItemCommand="repPlayers_ItemCommand">
<ItemTemplate>
<tr>
<td><%# Eval("Name") %></td>
<td><%# Eval("LastName") %></td>
<td>
<asp:Image ID="imageTest" src="~/ImageHandler.ashx?id=PlayerID" runat="server" />
<%--<img id="imageTest" style="width: 60px; height: 30px;" src="data:image/png;base64, <%# Convert.ToBase64String((byte[])Eval("Photo")) %> " />--%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
ImageHandler.ashx КОД ЗА:
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
int playerID = Convert.ToInt32(context.Request["PlayerID"]);
Players.Data.DataAccess player = Players.Data.DataAccess.GetByPlayerId(playerID);
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite(player.Photo);
}
public bool IsReusable
{
get
{
return false;
}
}
}
Возможно, что я делаю что-то не так, может быть, я должен сочетать в себе '<%#Eval("PlayerID")%>'
как-то или что? Если бы я использовал DataGrid Я хотел бы использовать контроль Item_dataBound и которые могли бы решить myproblem, но, к сожалению, я загрузка моих данных здесь в таблицу, и я не знаю, как решить эту проблему ..
редактировать: Я тоже попробовал это и это было решение: <asp:Image ID="imageTest" runat="server" ImageUrl='<%#"~/ImageHandler.ashx?PlayerID="+Eval("PlayerID") %>' />
PS Ответил код работает, но его загружает изображения медленно, как ад, и что делает целые мои загрузки страницы очень медленно, потому что я получаю как 50 объектов из базы данных и каждый из них имеет изображение :(
ПОТОМУ ЧТО Я ПОЧТА ВЫШЕ, ЧТО РЕШЕНО, МЫ МОЖЕМ УГРОЗИТЬ ЭТО ЗАКРЫТО!
В комментировал коде, вы настраиваете это MimeType для изображения/PNG, но в обработчике вы устанавливаете его изображения/JPEG. Все ваши изображения pngs или есть смесь с jpeg (и, возможно, другими форматами)? –
пока что все они .jpg и, как я уже сказал, прокомментированный код хорошо работает с изображениями, но его так медленно:/ –
Что значит «медленный»? Как вы его протестируете? Против отдельного Windows Server или против вашего Windows 7/10? –