Вернул кнопку - "выбрать на сервере", доработал логику кеширования картинок, теперь проблем с кешем не должно быть.

При удалении объекта если файл был выбран через "выбор на сервере" он не
удаляется.
Добавил метод в system::filePathToPrefix() - генерирует префикс для
файлов используя путь до файла.