2012-02-12 1 views
0

상황 :
하나의 WebApplication, 2 개의 사이트 모음. 두 사이트 모음 모두 "유형"및 데이터 구조가 동일합니다. 두 컬렉션 모두 동일한 구조의 문서 라이브러리를 사용합니다.Sharepoint2010 : 다른 사이트 모음의 두 문서 라이브러리간에 항목 복사

문제/질문 : 나는 다음과 같은 시도 할 때 수집 B.에 수집 A에서 하나의 문서를 복사 할 수있는 기능을 구현해야
...

SPFile destfile = destPageList.RootFolder.Files.Add(sourcePage.File.ServerRelativeUrl, sourcePage.File.OpenBinary()); 

... 나는를 얻을 수 cxception :이 웹에 지정된 URL이있는 파일이 없습니다. URL이 정확하므로 왜 이것이 발생하는지 궁금합니다. 이 문제를 해결하기위한 힌트 나 다른 방법이 있습니까?

기타 정보를 정기적으로 :
내가으로 VisualStudio 2010, .NET 3.5을 사용하고, Sharepoint2010 서버.

편집 :
프로그래밍 방식으로 구현해야합니다. 콘텐츠 배포는 (어떤 이유로) 사용 가능한 솔루션이 아닙니다.

답변

2

한 웹에서 파일 컬렉션을 사용하여 다른 웹 응용 프로그램에 파일을 추가 할 수 없습니다. 대신 원본 파일을 열고 대상 사이트 및 웹을 열고 Files 컬렉션을 사용하여 대상 웹에 새 파일을 만들어야합니다. 같은 것 :

바이트 [] sourceFileContent = sourcePage.File.OpenBinary(); 사용
(SPSite 사이트 = 새로운 SPSite를 ("HTTP : // mysite2"))
{
        사용 (SPWeb 웹 = site.OpenWeb ("/"))
        {
                SPList list = web.Lists [ "My List"];
                list.RootFolder.Files.Add (destFileUrl, sourceFileContent);
       }
}

BTW,이 같은 내보내기/가져 오기를 사용하는 것이 좋습니다 사이트간에 파일을 복사하기 위해 여기에 설명 : http://www.spsamples.com/2011/07/moving-sharepoint-list-items-to-archive.html

관련 문제