【问题标题】:C# LinkedResource using base64 stringC# LinkedResource 使用 base64 字符串
【发布时间】:2019-02-12 08:42:52
【问题描述】:

我怎么能把这个==> url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB') 转为new System.Net.Mail.LinkedResource()

以 C# 形式发送邮件,使用带有 base64 字符串的背景 css 样式,而不是文件 url。

【问题讨论】:

    标签: c# email base64


    【解决方案1】:

    我自己也想知道这一点,并得到了这篇文章。我解决了它,并想我会分享我的解决方案。

    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);
    

    【讨论】:

    • 这个回复怎么没有被投票 100 次?谢谢!效果很好!
    • @Rocky 除了 base64 无效。这是一个有效的jsfiddle.net/casiano/xadvz
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多