こんにちは、メタデータを含むクライアント API を使用して SharePoint 2010 にファイルをアップロードし、完了後にファイルをチェックインしようとしています。以下は私のコードです:
public void UploadDocument(SharePointFolder フォルダー、文字列ファイル名、ブール値の上書き) {
var fileInfo = new FileInfo(filename);
var targetLocation = String.Format("{0}{1}{2}", folder.ServerRelativeUrl,
Path.AltDirectorySeparatorChar, fileInfo.Name);
using (var fs = new FileStream(filename, FileMode.Open))
{
SPFile.SaveBinaryDirect(mClientContext, targetLocation, fs, overwrite);
}
// doesn't work
SPFile newFile = mRootWeb.GetFileByServerRelativeUrl(targetLocation);
mClientContext.Load(newFile);
mClientContext.ExecuteQuery();
//check out to make sure not to create multiple versions
newFile.CheckOut();
// use OverwriteCheckIn type to make sure not to create multiple versions
newFile.CheckIn("test", CheckinType.OverwriteCheckIn);
mClientContext.Load(newFile);
mClientContext.ExecuteQuery();
//SPFile uploadFile = mRootWeb.GetFileByServerRelativeUrl(targetLocation);
//uploadFile.CheckOut();
//uploadFile.CheckIn("SOME VERSION COMMENT I'D LIKE TO ADD", CheckinType.OverwriteCheckIn);
//mClientContext.ExecuteQuery();
}
ファイルをアップロードできますが、メタデータを追加できず、ファイルがチェックアウトされています。メタ データを追加し、完了後にファイルをチェックインしたいと考えています。
私の SharePointFolder クラスには、アップロード先のフォルダー パスの serverRelativeUrl があります。どんな助けでも大歓迎です。