Как отобразить последнее добавленное изображение или видео для каждого документа в поле зрения - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть страница просмотра, где мне нужно отобразить последнее добавленное изображение или видео для документа.Есть 2 таблицы БД, в таблице 1 ( Документы ) я сохраняю такие детали документов, как doc_id, doc_id, doc_name, дата, подробности, а таблица 2 ( Images ) содержит image_id, image_name,doc_id, url.При отображении изображений я использовал обработчик изображений для изменения размера изображений на стороне сервера, чтобы уменьшить время загрузки страницы.Я могу сделать это только тогда, когда есть изображения.Но я застреваю, когда в документе есть изображения и видео с кодом ниже.

@if (Model.Images.Count > 0)
{
    <div class="col-md-2">
        @{ var grouped = Model.Images.GroupBy(a => a.doc_id);}
        @foreach (var item in grouped)
        {
            <img class="viewImg" src="~/ImageHandler.ashx?file=@Url.Content(item.OrderBy(a => a.image_id).Last().url)&width=100&height=100" />
        }
    </div>
    <p>@Model.doc_name</p>
    <p>@Model.doc_details</p>

Я хочу добавить приведенную ниже логику в код выше, чтобы получить последний добавленный элемент.Мне нужно получить и проверить, является ли последний добавленный элемент изображением или видео.если это изображение, перейдите к условию или условию.Как мне объединить оба или любое другое лучшее решение, пожалуйста?

    string extension = System.IO.Path.GetExtension(image.url);

        @if (extension == ".png" || extension == ".jpeg" || extension == ".jpg")
        {

                <img src="~/ImageHandler.ashx?file=@Url.Content(image.url)&width=300&height=300" />                                  

        }
        else
        {

                <video class="videoplayslider" autoplay loop>
                    <source src="@Html.DisplayFor(modelItem => image.url)" type="video/mp4">
                </video>

        }  

Как отобразить последнее обновленное изображение или видео для каждого документа?

...