Kentico - генерировать превью изображений после обновления поля документа через API - PullRequest
1 голос
/ 27 апреля 2020

У меня есть скрипт для загрузки изображений в медиа-библиотеку (работает нормально), а затем назначить каждое изображение для определенного поля документа, которое также работает. Единственная проблема заключается в том, что эскизы предварительного просмотра не отображаются:

enter image description here

Код для обновления поля довольно прост:

private static void AssignImageToProject(string projectID, int index, string imgUrl)
{
    var projectPage = _projectPages
        .Where(p => p.GetStringValue("ProjectID", null) == projectID)
        .FirstOrDefault();

    if (projectPage == null) return;

    projectPage.CheckOut();

    projectPage.SetValue($"ProjectImage{index+1}", $"{imgUrl}");

    // Updates the page in the database
    projectPage.Update();

    // Creates a new version of the updated page (required even when not using content locking)
    // If using content locking, checks in the page
    projectPage.CheckIn();

    projectPage.Publish();
}

URL-адрес изображения является правильным в соответствии с БД, и изображения отображаются в соответствии с ожиданиями на передней панели. Есть ли метод, который я могу вызвать для создания предварительного просмотра?

Кстати, я использую Kentico 11.

Редактировать: В моей БД значение поля начинается с тильды ' ~ 'но, как вы можете видеть на скриншоте, страница не ставит перед тильдой значение. Однако, если я нажму «Выбрать», это приведет меня к правильному изображению, и если я выберу его, оно обновит поле тильдой, и я получу предварительный просмотр изображения

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

Элемент управления по умолчанию Kentico сохраняет URL с символом «~» в начале, даже если он не отображается в интерфейсе администратора. Если вы измените свой код следующим образом:

projectPage.SetValue($"ProjectImage{index+1}", $"~{imgUrl}");

Это должно помочь, вероятно. Убедитесь, что в фактическом поле базы данных вы видите что-то вроде этого:

~/getmedia/16b40b07-9b41-4812-9194-4bb35470ad8c/Bakery-And-Coffee.jpg?width=849&height=565&ext=.jpg

ОБНОВЛЕНИЕ: кажется, что также важно сохранить параметр расширения в URL '&ext=.jpg'

0 голосов
/ 27 апреля 2020

Какой тип поля изображения вашего проекта? Это не файл или вложение. Для этих типов у вас есть предварительный просмотр.

, если вы загружаете изображение, используя интерфейс администратора вручную. Предварительный просмотр работает в этом случае? если да, просто проверьте БД и сравните различия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...