如何将文件从一个SP 2010根站点复制到其子站点(C#)

时间:2011-05-05 22:25:00

标签: c# sharepoint-2010 file move

我使用SP设计器在“http:// test1 / SitePages /”和“http:// test1 / sideA / SitePages /”下手动创建了“testFolder”。文件夹“http:// test1 / SitePages / testFolder /”中有一个txt文件,我试图将txt文件复制到子网站文件夹“http:// test1 / sideA / SitePages / testFolder”

protected void copyFile() 
            {
                SPSite mySite = new SPSite("http://test1/");
                SPWeb myWeb = mySite.OpenWeb();
                SPFolder collFolder = myWeb.GetFolder("SitePages/testFolder");
                SPFileCollection collFiles = null;
                if (collFolder.Exists)
                {
                    collFiles = collFolder.Files;
                }
                else
                {
                    Response.Write("Source folder dosenot exists");
                }

                myWeb.Dispose();
                mySite.Dispose();

                SPSite destSite = new SPSite("http://test1/sideA/");
                SPWeb destWeb = destSite.OpenWeb();
                SPFolder destFolder = destWeb.GetFolder("SitePages/testFolder");

                if (destFolder.Exists)
                {
                    foreach (SPFile oFile in collFiles)
                    {
                        oFile.CopyTo(destFolder + "/" + oFile.Name, true);
                    }
                }
                else 
                {
                    Response.Write("Target folder dosenot exists");
                }

                destWeb.Dispose();
                destSite.Dispose();

            }

0x81070925您无法将“/SitePages/testFolder/something.txt”复制到自身。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Runtime.InteropServices.COMException:0x81070925您无法将“/SitePages/testFolder/something.txt”复制到自身。

1 个答案:

答案 0 :(得分:0)

您是否确认该文件夹存在且拼写正确?我注意到你的代码和代码描述中有一些拼写错误(Fodler,newFoler等)可能就这么简单吗?

在执行此操作时,您需要注意以下事项: http://sharepointlink.blogspot.com/2011/02/beware-of-spwebgetfolderurl.html

似乎GetFolder方法不一定会立即告诉您存在问题。在尝试复制文件夹/文件之前,您应检查以确保文件夹/文件存在。

如果这不能解决问题,请提供完整的错误消息及其出现位置。感谢。