Mengakses Strim Memori untuk Lampiran Fail dalam MailMessages
Melampirkan fail daripada MemoryStream ke MailMessage boleh menghapuskan keperluan untuk storan fail perantaraan. Artikel ini meneroka penyelesaian kepada masalah ini.
Untuk mencapai matlamat ini, MemoryStream dicipta dan diisi dengan kandungan fail menggunakan StreamWriter. Setelah fail berada dalam ingatan, kedudukannya ditetapkan semula kepada permulaan.
MimeContentType kemudiannya ditakrifkan berdasarkan jenis fail (cth., teks/plain untuk teks biasa). Akhir sekali, Lampiran baharu dibuat menggunakan MemoryStream dan diberi nama fail.
Berikut ialah contoh coretan kod:
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; System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Text.Plain); System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct); attach.ContentDisposition.FileName = "myFile.txt";
Pendekatan ini membolehkan anda melampirkan fail terus daripada memori, menghapuskan keperluan untuk penyimpanan fail perantaraan pada cakera. Anda boleh menentukan MimeTypes yang berbeza untuk menampung pelbagai format fail dan memastikan sambungan nama fail yang betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melampirkan Fail dari MemoryStream ke MailMessage?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!