Отображение изображения в jquery DataTable из базы данных - PullRequest
0 голосов
/ 25 сентября 2018

Я использую Jquery Datatables в MVC и хочу отобразить в нем изображение.Я знаю, что изображение может быть получено из базы данных с использованием кода ниже

@{
    string imageBase64 = Convert.ToBase64String(Model.Content);
    string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);
}

, но я не представляю, как сделать то же самое, используя datatable.Моя таблица данных

function GetEmployeesData() {
            $.ajax({
                cache: false,
                url: '@Url.Action("GetEmployeesData", "Staff")',
                type: 'GET',
                datatype: 'json',
                success: function (data) {
                    $('#employeedatatable').dataTable({
                        data: data,
                        columns: [
                                    {
                                        'data': 'tbl_StaffImage', "render": function (data) {
                                            return '<img src="tbl_StaffImage" style="height:100px;width:100px;"/>';

                                        }

                                    },

                                    { 'data': 'Name' },

                        ]
                    });


                }
            });

        }

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Попробуйте использовать функцию columns.render для создания пользовательской функции.Затем используйте строку, чтобы вернуть правильное представление вашего изображения.

$(document).ready(function() {
    $('#example').DataTable( {
        data: dataSet,
        columns: [
            { title: "" ,render: getImg },
            { title: "" },
            { title: "" }
        ]
    } );
    });

    function getImg(data, type, full, meta) {
       //
       return '<img  src="your image path(imgsrc )" />';
    }
0 голосов
/ 25 сентября 2018

Если вы сохраняете изображение как byte[] в базе данных, тогда преобразуйте его в строку base64 перед отправкой в ​​таблицу данных.

и если вы уже сохраняете изображение как строку base64 вбаза данных, тогда ваши tbl_StaffImage данные в таблице данных должны быть такими, как показано ниже:

{
    data: "tbl_StaffImage", name: "tbl_StaffImage",
    render: function (data, type, row, meta) {
        var imgsrc = 'data:image/png;base64,' + data; // here data should be in base64 string
        return '<img class="img-responsive" src="' + imgsrc +'" alt="tbl_StaffImage" height="100px" width="100px">';
    }
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...