小编Vin*_*ore的帖子

来自内存流的电子邮件附件在C#中显示为空白

我能够通过邮件发送附件,但附件内容为空白,大小显示为0字节.

在通过互联网进行一些搜索后发现我们需要将内存流位置重置为0才能从头开始.

我也试过了,但它似乎无法正常工作.你能帮忙吗?

请在下面找到我的代码段:

注意:我能够保存工作簿,并且数据存在于保存的工作簿中.

        MemoryStream memoryStream = new MemoryStream();

        StreamWriter writer = new StreamWriter(memoryStream);
        writer.Write(xlWorkbook);
        writer.Flush();
        memoryStream.Position = 0;
        MailMessage mail = new MailMessage();
        SmtpClient SmtpServer = new SmtpClient("smtpclient");
        mail.From = new MailAddress("from@gmail.com");
        mail.To.Add("To@gmail.com");
        mail.Subject = "Entry";
        mail.Body = "Hello, PFA ";
        System.Net.Mail.Attachment attachment;

        attachment = new System.Net.Mail.Attachment(memoryStream,"xls");
        attachment.ContentDisposition.FileName = "Input" + DateTime.Now.ToString("yyyyMMdd_hhss") + ".xls";
        mail.Attachments.Add(attachment);
        SmtpServer.Port = 465;
        SmtpServer.UseDefaultCredentials = false;
        SmtpServer.Credentials = new System.Net.NetworkCredential("Username", "password");
        SmtpServer.EnableSsl = true;
        SmtpServer.Send(mail);
        writer.Dispose();
Run Code Online (Sandbox Code Playgroud)

.net c# email memorystream email-attachments

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1

email ×1

email-attachments ×1

memorystream ×1