0

クライアント オブジェクト モデル + SharePoint 2010 でファイル メソッドをアップロード中にエラーが発生しました。ファイルがアップロードされたら。その後、コードはエラーなしでコンパイルされますが

実行中にエラーが発生します

"{"値が期待される範囲内にありません。"}

{System.Collections.Generic.SynchronizedReadOnlyCollection}

ファイルをアップロードする機能を処理するメソッドがあります

/////////////////////////////////////////////// ///////////////////////////////////////

public void Upload_Click(string documentPath, byte[] documentStream)
{
    String sharePointSite = "http://cvgwinbasd003:28838/sites/test04";
    String documentLibraryUrl = sharePointSite +"/"+ documentPath.Replace('\\','/');

    ////////////////////////////////////////////////////////////////////
    //Get Document List
    List documentsList = clientContext.Web.Lists.GetByTitle("Doc1");

    var fileCreationInformation = new FileCreationInformation();

    //Assign to content byte[] i.e. documentStream
    fileCreationInformation.Content = documentStream;

    //Allow owerwrite of document
    fileCreationInformation.Overwrite = true;

    //Upload URL
    fileCreationInformation.Url = documentLibraryUrl;
    Microsoft.SharePoint.Client.File uploadFile = documentsList.RootFolder.Files.Add(
    fileCreationInformation);             

    //uploadFile.ListItemAllFields.Update();
    clientContext.ExecuteQuery();
}

/////////////////////////////////////////////// /////////////////////////////////////////////

コントローラーの MVC 3.0 アプリケーションで、アップロード メソッドを呼び出す次のメソッドを定義しました。

/////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////

public ActionResult ProcessSubmit(IEnumerable<HttpPostedFileBase> attachments)
{
    System.IO.Stream uploadFileStream=null;
    byte[] uploadFileBytes;
    int fileLength=0;      

    foreach (HttpPostedFileBase fileUpload in attachments)
    {
        uploadFileStream = fileUpload.InputStream;
        fileLength=fileUpload.ContentLength;
    }

    uploadFileBytes= new byte[fileLength];
    uploadFileStream.Read(uploadFileBytes, 0, fileLength);

    using (DocManagementService.DocMgmtClient doc = new DocMgmtClient())
    {
        doc.Upload_Click("Doc1/Doc2/Doc2.1/", uploadFileBytes);
    }

    return RedirectToAction("SyncUploadResult");
}

/////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////

エラーを見つけるのを手伝ってください

4

1 に答える 1