SharePoint Managerのコピーを入手すると、興味深い情報の山が表示されます。
[名前]フィールドが必要です(「.aspx」が含まれています)。タイトルフィールドはウィキ(空白)には関係ありません。代わりに、ページはその名前でインデックス付けされます。
- アップデート -
copy.asmxを使用すると、新しいドキュメントをアップロードできます。テンプレートページは、以前にダウンロードされたページです(レイアウトページと同等の情報は保存されません)。
private byte[] GetTemplatePage()
{
FileStream fs = new FileStream("templatePage.aspx", FileMode.Open);
byte[] fileContents = new byte[(int)fs.Length];
fs.Read(fileContents, 0, (int)fs.Length);
fs.Close();
return fileContents;
}
private void UploadDoc(string pageName)
{
byte[] wikiBytes = GetTemplatePage();
string dest = "http://[website]/wiki/Wiki%20Pages/" + pageName + ".aspx";
string[] destinationUrlArray = new string[] { dest };
IntranetCopy.Copy copyService = new IntranetCopy.Copy();
copyService.UseDefaultCredentials = true;
copyService.Url = "http://[website]/wiki/_vti_bin/copy.asmx";
IntranetCopy.FieldInformation fieldInfo = new IntranetCopy.FieldInformation();
IntranetCopy.FieldInformation[] fields = { fieldInfo };
IntranetCopy.CopyResult[] resultsArray;
copyService.Timeout = 600000;
uint documentId = copyService.CopyIntoItems(dest, destinationUrlArray, fields, wikiBytes, out resultsArray);
}
次に、lists.asmxを呼び出してwikifieldを更新できます。注:Webサービスを使用してアップロードしたドキュメントの名前を変更する方法がわかりません。