在sharepoint库中上传文件会抛出一个未处理的异常(hresult:0x80020009,错误代码:-2147352567),并显示空错误消息

时间:2011-01-03 06:59:03

标签: sharepoint file exception upload

我使用以下代码示例在文档库中上传多个文件(使用sharepoint对象模型,没有webservice),但有时会抛出异常hresult:0x80020009,错误代码为-2147352567,错误消息为空(空字符串) )文件成功上传到文档库。并且大多数情况下它仅在第一次发生时意味着它在上传第一个文档之后发生,之后所有过程顺利进行,在第一次出现之后没有异常发如果我吃那个例外它工作正常。任何人都可以帮我跟踪问题,我无法理解为什么它在文件上传到文档库时抛出异常。我想知道实际的原因是什么,我该怎么做才能避免这个问题。

代码: .....

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

1 个答案:

答案 0 :(得分:1)

尝试使用下面提供的代码来帮助您

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(); 
            }
        }