Визуализация кода base64 как изображения в виде CRUD Laravel Backpack - PullRequest
1 голос
/ 20 марта 2019

Есть ли способ визуализации изображения непосредственно из кода base64 в виде CRUD-представления Laravel backpack без его преобразования в файл изображения?

Моя причина для этого - не использовать дисковое пространство.Я попытался просмотреть документацию, но отображается только сохранение кода base64.

Спасибо.

- edit -

У меня уже есть этот код на моем контроллере CRUD:

$this->crud->addColumn([ // base64_image
                'label' => "Signature",
                'name' => "signature_data",
                'filename' => NULL, // set to null if not needed
                'type' => 'base64_image',
                'aspect_ratio' => 0, // set to 0 to allow any aspect ratio
                'crop' => false, // set to true to allow cropping, false to disable
                'src' => NULL, // null to read straight from DB, otherwise set to model accessor function
        ]);

signature_data поле установлено на LONGBLOB

Но оно отображает только код base64 в представлении CRUD:

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

В Backpack отсутствует тип столбца по умолчанию base64_image ( все столбцы здесь в документации ).Так что Backpack только что обработал ваш тип столбца как text.Поскольку это «текстовый» столбец, он показывает первые символы вашего большого двоичного объекта.

Вы можете создать пользовательский тип столбца , который показывает ваше изображение из строки base64.Подумайте о повторном использовании файла image.blade.php - в рюкзаке есть тип столбца image, который показывает изображения из URL.

Справочная информация: Некоторое время назад были разговоры о типе столбца base64_image - некоторые предлагали добавить его в ядро ​​(потому что это было бы интуитивно понятно), другие выступали против него, потому чтонам следует вероятно отговорить людей хранить изображения в виде строк base64 в базе данных.Я все еще разрываюсь, но склоняюсь к тому, чтобы иметь это.Если вы действительно создаете тип столбца для себя, рассмотрите возможность представления PR вместе с ним - таким образом, обсуждение будет возобновлено, и мы могли бы включить его в ядро.

0 голосов
/ 20 марта 2019

Попробуйте изменить поле подписи в файле просмотра CRUD:

<td>
<img src="{{signature field name here}}" width="100" height="100"/>
</td>
...