#episerver
Вопрос:
Есть ли какой-либо способ просмотреть файл изображения, принадлежащий папке ресурсов содержимого? Например: https://loca.abc.com/contentassets/90a388f260a04f54b4056becc1c58307/lorem-ipsum-alternatives.png
Если мне нужно найти этот файл на вкладке episerver media, как я могу этого добиться? Легко найти файлы в разделе глобальные ресурсы и ресурсы сайта из контейнера «Для всего сайта» и «Для этого сайта» на вкладке «Мультимедиа», но я не могу найти файлы, загруженные как часть папки «Ресурсы контента».
Любая помощь будет признательна.
Ответ №1:
Идентификатор GUID в пути ( 90a388f260a04f54b4056becc1c58307
) означает, что это (скорее всего) папка «Для этой страницы» / «Для этого блока».
Вы можете запросить базу данных таким образом, используя этот идентификатор GUID:
SELECT pkID, ContentOwnerID FROM tblContent WHERE ContentGUID = '90a388f2-60a0-4f54-b405-6becc1c58307'
pkID
будет содержать идентификатор папки содержимого и ContentOwnerID
будет содержать идентификатор содержимого (страницы или блока), которому принадлежит эта папка, который вы можете использовать снова, чтобы найти идентификатор содержимого владельца.
(вы также можете сделать то же самое в коде, например, используя IContentLoader.Get<T>(Guid contentGuid)
)
Затем вы можете использовать этот идентификатор для изменения URL-адреса редактирования и открыть это содержимое в пользовательском интерфейсе редактирования, а затем нажать «Для этой страницы» / «Для этого блока» на вкладке «Мультимедиа».
Комментарии:
1. В принципе,мне нужно найти эти файлы в режиме редактирования episerver. Я знаю, что файл находится в разделе «Для этой страницы», но если эти файлы будут заменены или удалены, то найти его в режиме редактирования невозможно. Странно, что episerver не хранит информацию для такого рода сценариев. Проблема с файлами в папке ресурсов содержимого заключается в том ,что даже если файлы, которые больше не используются, все еще доступны в системе. Мне нужно найти способ удалить эти файлы с сервера episerver, на которые больше нет ссылок.
2. Для этой цели вы можете использовать встроенное запланированное задание EPiServer
Remove Abandoned BLOBs
3. Запланированное задание «Удалить оставленные большие двоичные объекты» не удаляет все оставленные большие двоичные объекты. Похоже, что если в базе данных нет ссылки на файл, он не удаляет файл. Он удаляет только файлы, которые не используются и имеют ссылку в БД. Я не знаю, почему в БД есть файлы без ссылок, но я предполагаю, что Episerver удаляет ссылку из БД, но не удаляет файл, что именно является моей проблемой. Каждый раз ,когда я запускаю планировщик, он успешно запускается с изменением 0 записей, и я знаю, что в контентных ресурсах все еще есть 100 файлов, в системе нет ссылок ни на какие страницы.
Ответ №2:
Наконец я смог добраться до пути к наборам содержимого на случай, если кто-то столкнется с подобной проблемой. Переход к
/EPiServer/CMS/администратор/ManageContent.aspx?id=10574
где 10574-идентификатор содержимого
Вот сообщение на форуме episerver, которое было полезным:
Таким образом, URL-адрес должен быть https://loca.abc.com/EPiServer/CMS/admin/ManageContent.aspx?id=10574
Таким образом, мне пришлось создать приведенный выше URL-адрес.
1 — https://loca.abc.com/ можно найти с помощью isitedefinitionresolver
2 — определите строку const /EPiServer/CMS/admin/ManageContent.aspx?id=
3 — добавьте идентификатор участника в end.in это дело 10574
Этот URL-адрес даст вам возможность редактировать/управлять/удалять/перемещать элемент в корзину.
Ответ №3:
Я не совсем уверен, что понимаю, что вам нужно, но если вы хотите определить папку активов, вы можете заглянуть в ContentAssetHelper