別のディレクトリにCSOM転送文書

最初のプロジェクトを作成し、転送するための方法を書きます

 

公共の静的な無効movefiles()

{

{試します

  ClientContent CLIENTCONTEXT =新しいCLIENTCONTEXT(SITEURL)。

  clientContext.RequestTimeout = Timeout.Infinite。

  VaRのユーザ名= "";

  VaRのパスワード= "";

  clientContext.Credentials =新しいNetworkCredentialの(ユーザ名、パスワード、ドメイン);

  clientContext.Credentials = CredentialCache.DefaultCredentials。

  GUID listId =新しいGUID( "A9999 ---");

  ウェブサイト= clientContext.Web。

  一覧ドキュメントリスト= web.Lists.GetById(listId)。

  CamlQuery camlQuery =新しいCamlQuery();

  camlQuery.ViewXml = "";

  ListItemCollectionアイテム= docList.GetItems(camlQuery)。

  clientContext.Load(ドキュメントリスト)。

  clientContext.Load(アイテム)

  clientContex.ExecuteQuery();

  int型のカウント= 1;

  foreachの(項目中のvarアイテム)

  {

  Console.WriteLineを( "共" + items.Count + "个");

  SP。ファイルファイル= item.Fiel。

  clientContext.Load(ファイル);

  clientContex.Load(ウェブ);

  clientContex.ExecuteQuery();

  文字列destLocation =「/site/library/folder/"+file.name。

  // FileInfomationのfileInfo = SP.File.OpenBinaryDirect(clientContex、file.ServierRelativeUrl)。

  //SP.File.SaveBinaryDirect(clientContex,destLocation,fileInfo.Stream,true);

  もし(item.FileSystemObjectType == FileSytemObjectType.File)

  {

  file.MoveTo(この位置、MoveOperations.Overwrite)。

  clientContex.ExecuteQuery();

  VAR = uploadFile clientContext.Web.GetFileByServerRelatioveUrl(この場所)

  VARのListItem = uploadfile.ListItemAllFields。

  リストアイテム[ "ContentTypeId"] = "0x0の...";

  listitem.Update();

  clientContext.ExecuteQuery();

    ++数えます。

  clientContext.Dispose();

  Console.WriteLineを( "完成。")

       }キャッチ(例外e)

  {

  Console.WriteLineを( "{0}"、e.Message)。

  リターン;

  }

}

 

ドキュメントのダウンロード方法:

FileInformation FINFO = SP.File.OpenBinaryDirect(CLIENTCONTEXT、項目[ "FileRef")のToString()。

ストリームS = fInfo.Stream。

文字列saveTo = @ "D:\\フォルダ" +ファイル名。

FileStreamをwriteStream =新しいFileStreamを(saveTo、FileMode.Create、FileAccess.Write)。

ReadWriteStream(S、writeStream)。

おすすめ

転載: www.cnblogs.com/xdanny/p/12586167.html