Публикация мультимедиа Sitecore в файловую систему, если она не настроена для этого

У меня есть экземпляр SiteCore, где значения web.config для мультимедиа следующие:

<setting name="Media.DisableFileMedia" value="false" />
<setting name="Media.UploadAsFiles" value="false" />
<setting name="Media.FileFolder" value="/App_Data/MediaFiles" />
<setting name="Media.UseItemPaths" value="true" />

Итак, это должно означать, что элемент будет храниться в базе данных, а не в файловой системе, верно? Я спрашиваю, потому что они хранятся в файловой системе с таким путем:

/App_Data/Replicated/MediaFiles/6/4/E/{64EC628B-9C94-4416-B9BD-5A90EA7D8971}220px-Liliumbulbiferumflowertop.jpg

Кто-нибудь знает, почему это было бы? Это маленькая часть большой головоломки, которую я пытаюсь понять.


person Josh C    schedule 30.08.2012    source источник
comment
Что показывает /sitecore/admin/showconfig.aspx? Кроме того, возможно иметь смесь носителей с файлами и базами данных. Можете ли вы подтвердить, что НОВЫЕ загрузки сохраняются в виде файлов?   -  person Derek Hunziker    schedule 31.08.2012
comment
Все значения одинаковы, за исключением этого: Media.FileFolder имеет значение /App_Data/Replicated/MediaFiles, что отличается от значения в файле web.config. Это делает путь, который использует изображение, немного менее загадочным. Большое спасибо за вашу помощь.   -  person Josh C    schedule 31.08.2012


Ответы (3)


Я узнал, что пользователи могут вручную указать, следует ли загружать файл как файлы в файловую систему. Я обнаружил, что редакторы контента на сайте, который я разрабатывал, делали это по привычке, основываясь на прошлых сайтах, над которыми они работали. Чтобы запретить пользователям этот выбор, вы можете установить для параметра Upload.UserSelectableDestination значение false (по умолчанию — true).

person Scott Simontis    schedule 14.07.2016

Media.DisableFileMedia – это больше, чтобы включить или выключить опцию сохранения медиафайла в SC или в файловой системе (в фактическом пользовательском интерфейсе SC).

Media.UploadAsFiles используется, чтобы указать, помещаются ли элементы мультимедиа в SC (если false) или в файловую систему (если true). Если для параметра DisableFileMedia установлено значение true, это игнорируется и считается быть "верным"

Media.FileFolder, очевидно, является местом для размещения файлов в файловой системе, если для любого из приведенных выше параметров установлено значение true.

Media.UseItemPaths на самом деле не имеет ничего общего с хранением элементов мультимедиа в файловой системе. Это просто переключение между отображением URL-адресов, таких как «~/media/[идентификатор элемента]», и полного пути к элементу мультимедиа.

person Udit B    schedule 31.08.2012
comment
Итак, учитывая приведенные выше значения, UploadAsFiles является ложным, что означает, что он НЕ будет хранить файлы на диске, но это переопределяется DisableFileMedia, что является ложным, что означает, что он ДОЛЖЕН хранить файлы на диске? Это единственный сценарий, который, как я вижу, имел бы смысл, хотя на самом деле он не имеет смысла. - person Josh C; 31.08.2012
comment
Да... когда я смотрю на свою конфигурацию... изложенную выше... она говорит мне, что сайт не должен хранить данные на диске. Но это. Любые идеи, почему будут оценены. - person Josh C; 14.09.2012

Я столкнулся с той же проблемой. После 5 часов расследования я обнаружил, что App_config\Include\ScalabilitySettings.config переопределяет значение Media.FileFolder. Поэтому отключите ScalabilitySettings.config и повторите попытку. Все файлы будут храниться в папке, указанной параметром Media.FileFolder.

Ответ для решения проблемы: отключить App_config\Include\ScalabilitySettings.config или изменить значение Media.FileFolder в этом конфиге

person Kharchenko Evgen    schedule 10.09.2013