Here's the code I ended up with to
copy the contents of the Documents list in one sub site to the
Documents list in another sub site within the same web application:
using (SPSite site = new SPSite ("http://dev-moss-mh:101/")) { using (SPWeb sourceWeb = site.AllWebs ["Source_Site"]) { using (SPWeb destinationWeb = site.AllWebs ["Destination_Site"]) {
SPList sourceDocuments = sourceWeb.Lists ["Documents"]; SPList destinationDocuments = destinationWeb.Lists ["Documents"];
if (sourceDocuments.ItemCount > 0) { ClearList (destinationDocuments);
foreach (SPListItem currentSourceDocument in sourceDocuments.Items) { Console.WriteLine ("Adding: {0}", currentSourceDocument.Name);
byte [] fileBytes = currentSourceDocument.File.OpenBinary ();
const bool OverwriteDestinationFile = true; string relativeDestinationUrl = destinationDocuments.RootFolder.Url + "/" + currentSourceDocument.File.Name;
SPFile destinationFile = ((SPDocumentLibrary) destinationDocuments).RootFolder.Files.Add ( relativeDestinationUrl, fileBytes, OverwriteDestinationFile); } } } } }
|
No comments:
Post a Comment