Apabila mengarang e-mel, selalunya perlu melampirkan fail. Biasanya, pembangun menyimpan fail ke cakera menggunakan FileStream dan kemudian melampirkannya menggunakan kaedah MailMessage.Attachments.Add(). Walau bagaimanapun, pendekatan alternatif melibatkan penyimpanan fail dalam ingatan menggunakan MemoryStream dan menghantarnya terus ke objek Lampiran.
Untuk mencapainya, ikuti langkah yang digariskan dalam kod sampel di bawah:
// Create a MemoryStream and populate it with the file content System.IO.MemoryStream ms = new System.IO.MemoryStream(); System.IO.StreamWriter writer = new System.IO.StreamWriter(ms); writer.Write("Hello its my sample file"); writer.Flush(); writer.Dispose(); ms.Position = 0; // Define the file type based on MIME type System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Text.Plain); ct.Parameters.Add("name", "myFile.txt"); // Set the attachment filename, including extension // Create an Attachment object from the MemoryStream System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct); // Attach the file to the email message mailMessage.Attachments.Add(attach); // Send the email, assuming you have an existing `mailMessage` object mailMessage.Send(); // Close the MemoryStream after sending the email ms.Close();
Bergantung pada jenis fail, anda boleh menentukan yang berbeza jenis MIME. Contohnya, untuk melampirkan fail PDF, gunakan System.Net.Mime.MediaTypeNames.Application.Pdf.
Pastikan bahawa sifat FileName objek Lampiran sepadan dengan jenis MIME yang ditentukan. Dalam contoh di atas, kami menentukan "myFile.txt" apabila menggunakan MediaTypeNames.Text.Jenis MIME biasa.
Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Fail ke E-mel menggunakan MemoryStream dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!