2011-05-05 51 views
2

我手动在“http:// test1/SitePages /”和“http:// test1/sideA/SitePages /”下创建了“testFolder” “使用SP设计师。在文件夹“http:// test1/SitePages/testFolder /”中有一个txt文件,我试图做的是将txt文件复制到子网站文件夹“http:// test1/sideA/SitePages/testFolder”如何将文件从一个SP 2010根站点复制到其子站点(C#)

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”复制到自身。

回答

0

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

以下是你需要看出来,当你这样做的一两件事: http://sharepointlink.blogspot.com/2011/02/beware-of-spwebgetfolderurl.html

似乎GetFolder方法不一定会告诉你有一个问题的时候了。在尝试复制文件夹之前,应检查文件夹/文件是否存在。

如果这不能解决问题,请包含完整的错误消息和它发生的位置。谢谢。

+0

嗨,感谢您的回复,并对我的拼写错误感到抱歉。 – ZhiZhi 2011-05-06 14:05:25

+0

没问题。我不是在批评。相反,我只是想知道这是否是问题的根源。你弄明白了吗? – IAmTimCorey 2011-05-06 14:05:33

+0

nope ...新问题出来了,我更新了最高职位 – ZhiZhi 2011-05-06 14:12:48

相关问题