Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melampirkan Fail dari MemoryStream ke MailMessage dalam C#?

Bagaimana untuk Melampirkan Fail dari MemoryStream ke MailMessage dalam C#?

DDD
DDDasal
2025-01-02 15:27:39446semak imbas

How to Attach Files from a MemoryStream to a MailMessage in C#?

Melampirkan Fail daripada MemoryStream ke MailMessage dalam C

Apabila mengarang e-mel dalam C#, anda mungkin menghadapi keperluan untuk melampirkan fail. Secara tradisinya, fail disimpan pada cakera sebelum ditambahkan pada koleksi lampiran. Walau bagaimanapun, pendekatan ini memerlukan menyimpan fail ke cakera, yang boleh menjadi tidak cekap dan tidak diperlukan dalam senario tertentu.

Daripada menyimpan fail ke cakera, anda boleh menyimpannya dalam memori menggunakan MemoryStream. Teknik ini membolehkan anda melampirkan terus fail pada objek MailMessage tanpa langkah perantara.

Contoh Kod

Sampel kod berikut menunjukkan cara melampirkan fail daripada MemoryStream ke MailMessage:

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";

// I guess you know how to send email with an attachment
// after sending email
ms.Close();

Edit 1:

Anda boleh menentukan jenis fail lain dengan menggunakan System.Net.Mime.MimeTypeNames, seperti System.Net.Mime.MediaTypeNames.Application.Pdf.

Berdasarkan Jenis Mime, pastikan sambungan yang betul dinyatakan dalam FileName, contohnya, " myFile.pdf".

Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Fail dari MemoryStream ke MailMessage dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn