2014-03-26 18 views
8

Wie kann ich diese == setzen> url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB') in new System.Net.Mail.LinkedResource()C# LinkedResource mit base64 String

Mail-Formular C# zu senden, Hintergrund CSS-Stil mit Base64-String verwenden, nicht URL-Datei.

Antwort

22

Ich fragte mich das selbst und kam zu diesem Post. Ich löste es und dachte, dass ich die meine Lösung teilen würde.

var imageData = Convert.FromBase64String("/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB"); 

var contentId = Guid.NewGuid().ToString(); 
var linkedResource = new LinkedResource(new MemoryStream(imageData), "image/jpeg"); 
linkedResource.ContentId = contentId; 
linkedResource.TransferEncoding = TransferEncoding.Base64; 

var body = string.Format("<img src=\"cid:{0}\" />", contentId); 
var htmlView = AlternateView.CreateAlternateViewFromString(body, null, "text/html"); 
htmlView.LinkedResources.Add(linkedResource); 
+3

Wie wird diese Antwort nicht 100 Mal aktualisiert? Vielen Dank! Funktioniert super! – Rocky

+0

@Rocky mit der Ausnahme, dass die Base64 nicht gültig ist. Heres eines, das funktioniert http://jsfiddle.net/casiano/xadvz/ – wal