SharePoint SPFolder.SubFolders.Add фактически не добавляет папку
У меня есть пара библиотек документов, которые являются просто стандартными библиотеками - никаких связанных пользовательских типов контента или чего-либо еще. Я пытаюсь добавить к ним подпапки, а в некоторых случаях это просто не работает.
SPFolder parent = library.RootFolder;
SPFolder child = parent.SubFolders.Add(subfoldername);
parent.Update();
bool exists = child.Exists; // This is false
Когда я пытаюсь добавить подпапку с именем M1 Spectrum CRC w-out CMN67 E02_files
через код он не может добавить папку, хотя Add
Метод, кажется, выполняется успешно. Когда я пытаюсь добавить папку с таким точным именем через стандартный пользовательский интерфейс списка SharePoint на основе браузера, я успешно добавляю папку, но она имеет другое имя:
M1 Spectrum CRC без CMN67 E02_files_
Обратите внимание на заключительное подчеркивание в папке, созданной SharePoint. Это допустимое имя папки Windows, и оно не содержит html-недружественных символов. Итак, что с этим? Я что-то упускаю из виду?
2 ответа
Это связано с тем, что папка, оканчивающаяся на _files, представляет собой особый вид, создаваемый клиентскими приложениями MS Office при сохранении документа в формате HTML. Приложения Office сохраняют все файлы ресурсов веб-страницы, такие как изображения и CSS-файлы, в эту папку. Но этим нельзя манипулировать с помощью объектной модели SharePoint - настоящий беспорядок, если вы спросите меня! Единственное решение для вас - НЕ создавать папки, заканчивающиеся на _files.
ПЫТАТЬСЯ
SPWeb site = new SPSite(sharepointURL).OpenWeb();
site.AllowUnsafeUpdates = true;