2015-03-18 12 views
13

Ho un URL (URL per il feed dal vivo dal client) che quando ho colpito nel browser restituisce la risposta xml. Ho salvato questo nel file di testo la sua dimensione è di 8 MB.Come utilizzare restsharp per scaricare il file

ora il mio problema è che ho bisogno di salvare questa risposta nel file xml sull'unità del server. da lì inserirò questo nel database. e la richiesta deve essere fatta usando il codice usando la libreria http-client o rest-sharp di C# .net 4.5

Non sono sicuro di cosa dovrei fare per il caso precedente. qualsiasi organismo può suggerire qualcosa mi

risposta

20

Con RestSharp, è proprio lì nel readme:

var client = new RestClient("http://example.com"); 
client.DownloadData(request).SaveAs(path); 

Con HttpClient, è un po 'più complesso. Dai un'occhiata a this blog post.

Un'altra opzione è Flurl.Http (dichiarazione di non responsabilità: sono l'autore). Esso utilizza HttpClient sotto il cofano e fornisce un'interfaccia fluida e un sacco di metodi di supporto convenienti, tra cui:

await "http://example.com".DownloadFileAsync(folderPath, "foo.xml"); 

garantita su NuGet.

+1

grazie per l'aiuto. Guarderà dentro a Flurl. – iGod

+0

Il metodo 'SaveAs' è stato rimosso? Non posso usarlo Probabilmente devo usare 'File.WriteAllBytes (fileName, bytesArray);' – JCarlos

+8

@JCarlos: Il metodo 'SaveAs' è ancora lì. È nello spazio dei nomi 'RestSharp.Extensions', classe' MiscExtensions'. – pushasha

3

Sembra che SaveAs sia stato interrotto. Potete provare questo

var client = new RestClient("http://example.com")  
byte[] response = client.DownloadData(request); 
File.WriteAllBytes(SAVE_PATH, response); 
+2

Vedere il commento nella risposta di cui sopra. – GibralterTop

Problemi correlati