以下のコードは、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.