1

以下のコードは、sharepoint からファイルを取得 (ダウンロード) しようとする試みです。ローカル バージョンでこれを試してみると、魅力的に機能します。ドキュメント ライブラリ内のすべてのアイテムを選択できます。

私が試したいくつかの方法があり、必要に応じてそれらのいくつかをここに投稿できます。破損したファイルをダウンロードできますが、リンクが間違っている場合でも. Office 365 の TeamSite でこれを試すと、リンクが間違っているという例外が発生します。しかし、私は同じサイトを参照しています ( localhost/dev/ の代わりにhttp://mysite.com/TeamSite/dev/を参照しています)。違いは何ですか?外部接続が許可されないように、Microsoft は何かをブロックしますか?

  private void btnDownload_Click(object sender, EventArgs e)
    {
        if (comboBox1.Items.Count > 0 && comboBox1.SelectedIndex != -1)
        {
            SaveFileDialog dialog = new SaveFileDialog();
            dialog.ShowDialog();

            using (SPSite site = new SPSite("http://localhost/dev/"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPFolder myLibrary = web.Folders["Management"];

                    foreach (SPFile file in myLibrary.Files)
                    {
                        if (file.Name == comboBox1.SelectedItem.ToString())
                        {
                            byte[] bytes = file.OpenBinary();

                            try
                            {
                                FileStream fs = new FileStream(dialog.FileName, FileMode.Create, FileAccess.ReadWrite);
                                BinaryWriter bw = new BinaryWriter(fs);
                                bw.Write(bytes);
                                bw.Close();
                                MessageBox.Show("File downloaded to: " + dialog.FileName);
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }

                        }                            
                    }
                }
            }
        }
        else
        {
            MessageBox.Show("Select file to download");
        }
    }

これは例外メッセージです:

The Web application at http://www.gtest.nl/TeamSite/ could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.
4

1 に答える 1

2

このように別のコンピュータに展開された SharePoint サイトに接続できません。クライアントコンテキストを使用する必要があります

例えば:

    string siteUrl = "http://MyServer/sites/MySiteCollection";

    ClientContext clientContext = new ClientContext(siteUrl);
    Web oWebsite = clientContext.Web;
    ListCollection collList = oWebsite.Lists;

    clientContext.Load(collList);

    clientContext.ExecuteQuery();

    foreach (SP.List oList in collList)
    {
        Console.WriteLine("Title: {0} Created: {1}", oList.Title, oList.Created.ToString());
    }

ここでクライアントコンテキストに関するより多くの例を見つけることができます

clientContextを介して sharepoint からファイルをダウンロードする例は既にあります。

于 2012-10-03T12:18:04.953 に答える