Tôi có thể gửi tệp đính kèm trong thư nhưng nội dung tệp đính kèm trống và kích thước được hiển thị là 0 byte.Tệp đính kèm email từ luồng bộ nhớ được để trống dưới dạng C#
Sau khi thực hiện một số tìm kiếm trên internet, chúng tôi cần đặt lại vị trí dòng bộ nhớ thành 0 để bắt đầu từ đầu.
Tôi đã thử điều đó nhưng có vẻ như nó không hoạt động. Bạn có thể giúp đỡ không?
Vui lòng tìm bên dưới đoạn mã của tôi:
LƯU Ý: Tôi có thể lưu sổ làm việc và Dữ liệu có trong sổ làm việc đã lưu.
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("[email protected]");
mail.To.Add("[email protected]");
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();
Bạn có biết rằng tệp XLS đang được đọc đúng không? Vị trí sau khi tuôn ra là gì? – Virmundi
Giá trị vị trí sau khi xả là 44 –
Câu hỏi chẩn đoán cuối cùng, điều gì sẽ xảy ra nếu bạn Tìm kiếm 0 thay vì Vị trí = 0? Giống như memStream.Seek (0, SeekOrigin.Begin); – Virmundi