Вот код
private void downloadList(SPObjectData objectData)
{
using (SPWeb currentWeb = objectData.Web)
{
foreach (SPList list in currentWeb.Lists)
{
foreach (SPFolder oFolder in list.Folders)
{
if (oFolder != null)
{
foreach (SPFile file in oFolder.files)
{
if (CreateDirectoryStructure(tbDirectory.Text, file.Url))
{
var filepath = System.IO.Path.Combine(tbDirectory.Text, file.Url);
byte[] binFile = file.OpenBinary();
System.IO.FileStream fstream = System.IO.File.Create(filepath);
fstream.Write(binFile, 0, binFile.Length);
fstream.Close();
}
}
}
}
}
}
}
Ошибка при компиляции
Ошибка Невозможно привести объект типа «Microsoft.SharePoint.SPListItem» к типу «Microsoft.SharePoint.SPFolder».
Ошибка «on line» foreach (SPFolder oFolder в списке. Папки)
Я пытаюсь назначить папку в списке. папки в папку, но по какой-то причине это дает ошибку, упомянутую выше.
Я пытался получить папки из списков, но после прочтения разницы между объектами папок и списков по ссылке, приведенной ниже, я изменил свой код, как указано ниже, ура
введите описание ссылки здесь
private void downloadList(SPObjectData objectData)
{
using (SPWeb currentWeb = objectData.Web)
{
foreach (SPFolder oFolder in currentWeb.Folders)
{
if (oFolder != null)
{
foreach (SPFile file in oFolder.Files)
{
if (CreateDirectoryStructure(tbDirectory.Text, file.Url))
{
var filepath = System.IO.Path.Combine(tbDirectory.Text, file.Url);
byte[] binFile = file.OpenBinary();
System.IO.FileStream fstream = System.IO.File.Create(filepath);
fstream.Write(binFile, 0, binFile.Length);
fstream.Close();
}
}
}
}
}
}