2

MVC を使用して SharePoint ドキュメント ライブラリからドキュメントをダウンロードしようとしていますが、コードを実行しようとすると、上記のエラーが発生します。SharePoint は初めてなので、よろしくお願いします。ここに私のコードがあります:

Web ヘルパー:

public Stream DownloadDocument(string SiteURL, string documentName)
{
  ListItem item = GetDocumentFromSP(documentName);

  if (item != null) {
    using (ClientContext clientContext = new ClientContext(SiteUrl)) {
      FileInformation fileInformation = 
        Microsoft.SharePoint.Client.File.OpenBinaryDirect(
          clientContext, 
          item["My Document.docx"].ToString()
        );

      return fileInformation.Stream;
    }
  }

  return null;
}

コントローラ:

public ActionResult Index() 
{
  Stream documentDownload = 
    WebHelper.DownloadDocument(
      "http://MySharePointServer/Docs/Forms/AllItems.aspx", 
      "My Document"
  );

  model.downloadedDoc = documentDownload;

  return view(model)
}
4

1 に答える 1

4

この行:

Microsoft.SharePoint.Client.File.OpenBinaryDirect(
          clientContext, 
          item["My Document.docx"].ToString()

間違っています。適切な構文は、サーバーの相対 URL をファイルに指定することです。

public static FileInformation OpenBinaryDirect(
    ClientContext context,
    string serverRelativeUrl
)

行は次のようになります。

Microsoft.SharePoint.Client.File.OpenBinaryDirect(
      clientContext, 
      "/My Document.docx"

デビッド・スターリング - http://davidmsterling.blogspot.com - http://www.sterling-consulting.com - http://www.sharepoint-blog.com

于 2013-01-05T20:43:25.990 に答える