繁体   English   中英

如何使用 base64 链接在 email 的附件中发送 base64 图像?

[英]How to send base64 image in attachment of email using base64 link?

我有base64图像 url 并且我想将此图像作为 email 附件发送,但它不起作用。引发错误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中回答我。

谢谢,

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

public Attachment (string fileName);

参数

fileName字符串

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

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

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

将 base64 编码图像转换为 stream 的一种可能性是从中创建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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM