2016-09-05 5 views
1

Я пытаюсь загрузить файл с SharePoint, у меня есть этот код и бросить код ошибки 500.Скачать файл с SharePoint

 static void DownloadFile(){ 
     string serverFilePath = "Here goes my URL, that open the file from any tab"; 
     var password = new SecureString(); 
     foreach (char c in Configuration.password) { 
      password.AppendChar(c); 
     } 
     // theese are the credentials and work fine because I tested in another method 
     var o365credentials = new SharePointOnlineCredentials(Configuration.userName, password); 

     var url = string.Format("{0}/{1}", Configuration.siteUrl, serverFilePath); 
     // My destination folder 
     string destPath = @"C:\publisher"; 
     var request = System.Net.HttpWebRequest.Create(url); 
     request.Credentials = o365credentials; 
     using (var sReader = new StreamReader(request.GetResponse().GetResponseStream())) { 
      using (var sWriter = new StreamWriter(destPath)) { 
       sWriter.Write(sReader.ReadToEnd()); 
      } 
     } 
    } 
+0

у вас есть вопрос, или ты смотришь g для кого-то, чтобы написать свой код для вас? – lgaud

+0

Конечно, это вопрос, но мне нужно знать, какой метод вызывать для загрузки файла, или параметры, например, для моего руководства –

ответ

0

вы можете решить эту задачу с помощью WebRequest для того, чтобы скачивать файлы с сайта Sharepoint :

public void DownloadFile(string serverFilePath, string destPath) 
{ 
    var url = string.Format("{0}/{1}", ServerURL, serverFilePath); 
    createDirectiory(Path.GetDirectoryName(destPath)); // this method creates your directory 
    var request = System.Net.HttpWebRequest.Create(url); 
    request.Credentials = System.Net.CredentialCache.DefaultCredentials; 
    using (var sReader = new StreamReader(request.GetResponse().GetResponseStream())) 
    { 
     using (var sWriter = new StreamWriter(destPath)) 
     { 
      sWriter.Write(sReader.ReadToEnd()); 
     } 
    } 
} 

, если вы хотите использовать Client-object-model вы читали, что: How to get a file using SharePoint Client Object Model with only an absolute url at hand?

+0

Точка во всем этом заключается в том, что я знаю из C#, но не от SharePoint, поэтому мне нужно, чтобы вы объяснили мне, что вы имеете в виду с serverFilePath. Учетные данные Я полагаю, что это означает ClienContext. Пожалуйста, взгляните на мой код. извините за все. –

+0

ваш код использует модель-клиент-объект, и я добавил очень информативную ссылку, если вы хотите ее использовать. альтернативный способ (мой ответ) - использовать класс webrequest, serverFilePath - это только путь к файлу, а учетные данные - это сетевой пользователь и пароль. метод createDirectiory(), который вам нужно создать самостоятельно - просто метод, который создает путь (папку) на клиентском ПК, файл будет загружен на этот путь. – jonathana

+0

Теперь я понимаю лучше, но это порождает мне номер ошибки 500, это действительно расстраивает этот материал sharepoing, извините за все –