Я пытаюсь создать Media программно в Umbraco 7.4.1, но когда я пытаюсь использовать MediaType.File, я получаю сообщение об ошибке
Нет PropertyType с указанным псевдонимом: umbracoWidth
Но когда я меняю его на MediaType.Image, он сохраняет и работает правильно. Когда я пытаюсь просмотреть CMS, действительно, у файла mediaType нет свойства ширины. Поэтому я не уверен, почему при выполнении media.SetValue("umbracoFile", filename, stream);
он пытается найти свойство umbracoWidth
, хотя я использовал MediaType.File
. Ниже показано, как я определяю свой код
string[] filePaths = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "uploads");
foreach (string filePath in filePaths)
{
using (Stream stream = System.IO.File.OpenRead(filePath))
{
string filename = Path.GetFileName(filePath);
IMedia media = Services.MediaService.CreateMedia(filename, Constants.System.Root, Constants.Conventions.MediaTypes.File);
media.SetValue("umbracoFile", filename, stream);
Services.MediaService.Save(media);
}
}
Но если я изменю код с Constants.Conventions.MediaTypes.File
на Constants.Conventions.MediaTypes.Image
, он работает правильно, но проблема в том, что тип носителя неверен. Особенно, если я загружаю видео или PDF-файл. Хотя ему удалось создать новый носитель, тип будет неправильным, поскольку он указан как изображение. Я хочу знать, как решить проблему при использовании файла mediatype