【问题标题】:How to send base64 image in attachment of email using base64 link?如何使用 base64 链接在电子邮件附件中发送 base64 图像?
【发布时间】:2023-03-30 18:47:02
【问题描述】:

我有base64 图片网址,我想将此图片作为电子邮件附件发送,但它不起作用。抛出错误PathTooLongException

我的代码:

   System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(Base64urlpath);
   attachment.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
   myMail.Attachments.Add(attachment);

请在system.web.Mail回复我。

谢谢,

【问题讨论】:

    标签: c# asp.net email-attachments ftp-server


    【解决方案1】:

    您使用的构造函数不接受 base64 输入,但需要文件路径:

    public Attachment (string fileName);

    参数

    fileName 字符串

    包含用于创建此附件的文件路径的字符串。

    (引自the documentation)。而且由于您的编码图像超过 260 个字符,您会得到路径太长的异常。

    似乎接受Stream 的构造函数之一可能是您正在寻找的。​​p>

    将您的 base64 编码图像转换为流的一种可能性是从中创建一个MemoryStream

    var imageBytes = Convert.FromBase64String(Base64urlpath);
    using var stream = new MemoryStream(imageBytes);
    var attachment = new System.Net.Mail.Attachment(stream, null); // you may want to provide a name here
    

    【讨论】:

    • 我收到错误System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. at System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength) at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) at System.Convert.FromBase64String
    • 我正在使用这个`string base64String = Convert.ToBase64String(stream.ToArray(), 0, stream.ToArray().Length);`
    • 如果您已经有一个Stream,那么只需使用它来创建您的附件。无需通过 Base64 编码绕道。
    • Plx updt ur answr, crating MSFtpWebResponse response = (FtpWebResponse)request.GetResponse(); using (MemoryStream stream = new MemoryStream()) { response.GetResponseStream().CopyTo(stream); string base64String = Convert.ToBase64String(stream.ToArray(), 0, stream.ToArray().Length); imgslide.ImageUrl = "data:image/jpeg;charset=utf-8;base64," + base64String; }
    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2016-10-30
    • 2014-01-25
    • 2015-09-18
    • 2012-03-23
    相关资源
    最近更新 更多