Я использовал примеры, которые мне показались на нескольких форумах, для отображения байта [] в представлении.Проблема у меня в том, что иногда фото дублируется на виде.Например, я хочу показать фото1 и фото2.Когда страница загружается, я вижу фото1 и фото2.Я обновляю страницу и могу видеть фото1 дважды или фото2 дважды.
Обновление:
Я нашел свою проблему.Я нашел класс, который не был написан для работы с потоками в глубине нашего внутреннего кода.Он держал состояние о запрошенной фотографии.Таким образом, в зависимости от сроков запроса фотографий два запроса могут вернуть одну и ту же фотографию.
Вот код моего контроллера.
public virtual ActionResult GetImage(int id) {
ClientDataPortal portal = new ClientDataPortal();
GetPhotosCommand command = new GetPhotosCommand();
command.GetPhotosActionEnum = GetPhotosActionEnum.GETDISTRIBUTORPHOTO;
command.PhotoSearchCriteria = new PhotoSearchCriteria();
command.PhotoSearchCriteria.DistributorPhotoId = id;
DistributorPhotoData item = portal.Fetch<DistributorPhotoData>(command);
//return new FileStreamResult(new System.IO.MemoryStream(item.Thumbnail), "image/jpeg");
return File(item.Thumbnail, "image/jpeg");
}
Вот код в представлении
<table>
@foreach (var item in Model.DistributorPhotos) {
<tr>
<td id="item.DistributorPhotoId.ToString()" >
<img id="item.DistributorPhotoId.ToString()" src="@Url.Action("GetImage", "Photo", new { id = item.DistributorPhotoId })" alt="Image" />
</td>
<td>@item.DistributorPhotoId.ToString()</td>
</tr>
}
</table>