2017-06-15 8 views
0

Also im Grunde, was ich tun möchte, ist das Herunterladen einer PDF-Datei innerhalb einer Web-API von einer URL, die ich als Parameter aus dem Frontend und erhalten wandeln Sie diese Datei direkt in eine Base64-Zeichenfolge um, ohne die Datei in einem Dateisystem zu speichern.C# - Laden Sie PDF von URL herunter und konvertieren Sie es in base64, ohne es auf einem Server zu speichern

Ich habe bereits WebClient.Download(URL, File) gefunden, aber das bedeutet, dass ich die Datei speichern muss.

Also weiß jemand eine andere Lösung, die für mich arbeiten könnte?

+0

WebClient.DownloadData https://msdn.microsoft.com/en-us/library/ms144188(v=vs.110).aspx –

Antwort

2

können Sie unter Code verwenden PDF von URL in base64 String-Format zum Download bereit.

string pdfUrl = "URL_TO_PDF"; 
using(WebClient client = new WebClient()) 
{ 
    var bytes = client.DownloadData(pdfUrl); 
    string base64String = Convert.ToBase64String(bytes); 
} 
+0

beste Antwort, aber vielleicht können Sie ein using hinzufügen: using (WebClient webClient = new WebClient ()) { – Xavave

+0

Das funktioniert perfekt. Danke, für die schnelle Antwort! –

0

Downloading pdf file using WebRequests als der in der ersten Antwort von

var fileName = "output/" + date.ToString("yyyy-MM-dd") + ".pdf"; 
using (var stream = File.Create(fileName)) 
resp.GetResponseStream().CopyTo(stream); 

(bzw. ist

HttpWebResponse resp = (HttpWebResponse)request.GetResponse(); 

)

dann Base64 konvertieren

String file = Convert.ToBase64String(stream); 
Verwandte Themen