我使用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”复制到自身。
答案 0 :(得分:0)
您是否确认该文件夹存在且拼写正确?我注意到你的代码和代码描述中有一些拼写错误(Fodler,newFoler等)可能就这么简单吗?
在执行此操作时,您需要注意以下事项: http://sharepointlink.blogspot.com/2011/02/beware-of-spwebgetfolderurl.html
似乎GetFolder方法不一定会立即告诉您存在问题。在尝试复制文件夹/文件之前,您应检查以确保文件夹/文件存在。
如果这不能解决问题,请提供完整的错误消息及其出现位置。感谢。