Beim Verfassen von E-Mails ist es oft notwendig, Dateien anzuhängen. Normalerweise speichern Entwickler die Datei mit FileStream auf der Festplatte und hängen sie dann mit der Methode MailMessage.Attachments.Add() an. Ein alternativer Ansatz besteht jedoch darin, die Datei mithilfe von MemoryStream im Speicher zu speichern und sie direkt an ein Anhangsobjekt zu übergeben.
Um dies zu erreichen, befolgen Sie die im folgenden Beispielcode beschriebenen Schritte:
// 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();
Je nach Dateityp können Sie unterschiedliche MIME-Typen angeben. Um beispielsweise eine PDF-Datei anzuhängen, verwenden Sie System.Net.Mime.MediaTypeNames.Application.Pdf.
Stellen Sie sicher, dass die FileName-Eigenschaft des Attachment-Objekts mit dem angegebenen MIME-Typ übereinstimmt. Im obigen Beispiel geben wir „myFile.txt“ an, wenn wir den MIME-Typ MediaTypeNames.Text.Plain verwenden.
Das obige ist der detaillierte Inhalt vonWie hänge ich mit MemoryStream in C# Dateien an E-Mails an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!