Sensenet: определение типа содержимого с помощью загрузки файла
Как я могу определить тип контента с полем, содержащим файл? Я думаю, что я должен использовать данные двоичного типа, чтобы сделать это, но я не знаю, как сделать остальное... В этом примере используется загрузка изображений, но я не знаю, как определить поле как простую загрузку файла...
2 ответа
Тип содержимого "Файл" предназначен для загрузки файлов любого типа. В приведенном выше примере описан специализированный тип контента с метаданными, связанными с изображениями. Вы должны попытаться использовать тип содержимого файла. Если его метаданные недостаточно хороши для вас, вы можете создать унаследованный тип контента с желаемым набором полей.
Как пишет Золтан в Sensenet, существует предопределенный тип контента, который называется File
обрабатывать любые файлы, которые вы хотите. Если вы наследуете свой CTD от этого типа (parentType="File"
) он автоматически будет иметь двоичное поле для хранения двоичных данных файла при загрузке, и вы можете определить дополнительные поля для пользовательских мета-меток.
Если вы хотите использовать тип контента, унаследованный по-другому, вы можете использовать поле Binary для хранения данных любого типа, но потеряет встроенную функцию загрузки (Upload page
). С другой стороны, на странице "Новый / Редактировать" будут файлы для загрузки файлов. Browse
Кнопка рядом с вашим настраиваемым полем.
При этом важно правильно настроить конфигурации видимости. Если установлено Hide
тогда вы не сможете загрузить файл со страницы "Создать" или "Изменить".
<Field name="CustomField" type="Binary">
<DisplayName>Custom Field</DisplayName>
<Configuration>
<VisibleBrowse>Hide</VisibleBrowse>
<VisibleEdit>Show</VisibleEdit>
<VisibleNew>Show</VisibleNew>
</Configuration>
</Field>