#c# #asp.net #dotnetnuke
#c# #asp.net #dotnetnuke
Вопрос:
Мне нужно программно создать папку в DotNetNuke 6.0.1 и назначить ей разрешение. В DNN 5 я смог создавать папки, но теперь что-то меняется, и все модули, которые я создал для 5, не работают в 6.
Пожалуйста, помогите мне.
Комментарии:
1. 6.x включает новые и улучшенные API, созданные для работы с новой инфраструктурой FolderProvider. Однако API-интерфейсы 5.x все равно должны работать. Как вы создавали папки в своих модулях?
Ответ №1:
В 6 появился новый API для управления папками.
FolderManager.Метод AddFolder (FolderMappingInfo, строка)
Параметры
Отображение папок
Введите: DotNetNuke.Услуги.Файловая система.FolderMappingInfo
Сопоставление папок для использования.
Путь к папке
Тип: System.Строка
Путь к новой папке.
Возвращаемое значение
Добавленная папка.
Реализует
IFolderManager.AddFolder(FolderMappingInfo, строка)
Комментарии:
1. Решается таким образом: var filterFolderName = «Альбомы /» txtAlbumName . Текст; var folderPath = PathUtils . Экземпляр. FormatFolderPath( PathUtils. Экземпляр. FormatFolderPath( PathUtils. Экземпляр. StripFolderPath(«»).Заменить(«\», «/»)) filterFolderName); //Добавить папку в Database FolderManager. Экземпляр. Добавить папку(FolderMappingController. Экземпляр. GetFolderMapping(8), folderPath); FolderManager. Экземпляр. Синхронизировать (это. PortalId);
Ответ №2:
Похоже, вам нужно посмотреть каталог.CreateDirectory
Это довольно просто.
Комментарии:
1. Хотя это может сработать, обычно рекомендуется использовать API DNN Folder Manager, который позволит коду работать с несколькими различными вариантами хранения файлов.