2016-10-05 6 views
0

Ich versuche, eine PDF-Datei, die ich in Dropbox habe, ich muss es auf meinem lokalen Computer speichern, jeder Ordner kann C:\Users\User\Desktop zum Beispiel sein. Dies ist der Code Ich habe mit Arbeits:Datei herunterladen von Dropbox C#

public void DownloadPdf() 
     { 

      DropboxClient client2 = new DropboxClient("cU5M-asdgfsdfsdfds3434435dfgfgvXoAMCFyOXH"); 
      string folder = "MyFolder"; 
      string file = "Test PDF.pdf"; 
      var response = client2.Files.DownloadAsync("/" + folder + "/" + file);   
     } 

Wie kann ich diese Datei in meinem lokalen Laufwerk speichern? Was muss ich als nächstes tun? Es wirft keinen Fehler, aber ich bin nicht einmal sicher, dass der Weg in das PDF-Dokument in Dropbox geht. Ich benutze Dropbox.Api innerhalb von ASP.net Core.

Antwort

2

Was Sie tun müssen, ist den Inhalt in einen Stream konvertieren und auf Ihren lokalen Pfad herunterladen. Sie können das so tun

public void DownloadPdf(string localFilePath) 
{ 
    DropboxClient client2 = new DropboxClient("cU5M-asdgfsdfsdfds3434435dfgfgvXoAMCFyOXH"); 
    string folder = "MyFolder"; 
    string file = "Test PDF.pdf"; 
    using (var response = await client.Files.DownloadAsync("/" + folder + "/" + file)) 
    { 
     using (var fileStream = File.Create(localFilePath)) 
     { 
      (await response.GetContentAsStreamAsync()).CopyTo(fileStream); 
     } 
    } 
} 
+0

nicht tun '.Result', verwenden Sie eine andere erwarten. Die Verwendung von '.Result' führt wahrscheinlich zu einem Deadlock im Programm. Die Verwendung eines '.ConfigureAwait (false)' auf beiden wartet nicht. –

+1

Außerdem entsorgst du den Stream nicht. –

+0

@ScottChamberlain Ich erhalte einen Kompilierfehler in diesem Ausschnitt: 'using (var fileStream = File.Created (@" C: \ Benutzer \ Benutzer \ Desktop \ Notes "))' Der Fehler ist: 'CS0119 \t 'ControllerBase .File (byte [], string) 'ist eine Methode, die im angegebenen Kontext nicht gültig ist.' Ich habe versucht, es auf diesem Weg vorher zu verwenden, aber ich wurde von diesem Fehler abgestürzt, entsprechend dem Fehler Datei bezieht sich auf eine Methode ?? und sobald ich einen Punkt nach 'File' gesetzt habe, zeigt es nicht' Create', es zeigt 'Created', irgendeine Idee? – AlexGH

Verwandte Themen