При загрузке файла в библиотеку sharepoint возникает необработанное исключение (hresult: 0x80020009, код ошибки: -2147352567) с пустым сообщением об ошибке - PullRequest
3 голосов
/ 03 января 2011

Я использую следующий пример кода для загрузки нескольких файлов (с использованием объектной модели sharepoint, без веб-службы) в библиотеку документов, но иногда выдает исключение hresult: 0x80020009, с кодом ошибки -2147352567 и сообщение об ошибке пустое (пустая строка) пока файл успешно загружен в библиотеку документов.И в основном это происходит только в первый раз, то есть при загрузке первого документа, после чего весь процесс проходит гладко, исключений не происходит после первого раза.Если я ем это исключение, оно работает нормально.Может ли кто-нибудь помочь мне отследить проблему, я не могу понять, почему он выдает исключение, когда файл загружен в библиотеку документов.Я хочу знать, какова реальная причина и что я должен сделать, чтобы избежать этой проблемы.

Код: .....

SPFolder folder = web.GetFolder(folderUrl);
foreach(.....)
{
folder.Files.Add(folderUrl + "/" + fileName, file.Data, true);
}

1 Ответ

1 голос
/ 03 января 2011

попробуйте использовать приведенный ниже код, который поможет вам

using (SPSite spsite = new SPSite("http://SPS01"))
        {
            using (SPWeb spweb = spsite.OpenWeb())
            {
                spweb.AllowUnsafeUpdates = true;

                SPFolder spfolder = spweb.Folders[Site + "/Shared Documents/"];
                byte[] content = null;
                using (FileStream filestream = new FileStream("C:/Sample.docx", System.IO.FileMode.Open))
                {
                    content = new byte[(int)filestream.Length];
                    filestream.Read(content, 0, (int)filestream.Length);
                    filestream.Close();
                }

                SPFile spfile = spfolder.Files.Add("Sample.docx", content, true);

                //Upload file in subfolder.
                //SPFile spfile = spfolder.SubFolders["Demonstration Folder"].Files.Add("Sample.docx", content, true);   
            spfile.Update(); 
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...