String to Stream: para enviarlo como Attachment

Intentando enviar un archivo adjunto desde un string, me tope con la incertidumbre de como pasar un cadena (string) a un stream (flujo) ya que el simple casteo me generaba error

Bueno la idea primeramente era enviar un correo adjunto mediante el metodo Add de la coleccion Attachment
   

correo.Attachments.Add(New Attachment(strmMemory, "Recordatorio.htm", "text/html"))

pero necesitaba un stream (flujo) y solo tenia el contenido en cadena, y no podia , hasta que llego la

System.IO.MemoryStream
(…)La clase MemoryStream crea secuencias que utilizan como almacén de respaldo la memoria en lugar de un disco o una conexión de red. MemoryStream encapsula los datos almacenados como una matriz de bytes sin signo que se inicializa al crear un objeto MemoryStream; también se puede crear una matriz vacía. Es posible obtener acceso directamente a los datos encapsulados en la memoria. Las secuencias de memoria pueden reducir la necesidad de archivos y búferes temporales en una aplicación.(…)

El ejemplo es algo asi:

Private correo As New System.Net.Mail.MailMessage

'...varias lineas de código despues...

Dim uniEnco As New UnicodeEncoding
Dim aBytes As Byte() = uniEnco.GetBytes(_correoContenido.Cuerpo)
Dim strmMemory As New MemoryStream(aBytes)
correo.Attachments.Add(New Attachment(strmMemory, "Recordatorio.htm", "text/html"))

y luego me dedique a predicarlo jeje! posteando más a modo de recordartorio y para el que lo necesite algunas vez.
(queria que este en Geeks.ms, ya que lo habia posteado en oto lugar)

Nota:
Luego de investigar por este problema me tope con método CreateAttachmentFromString (lo dice todo el nombre no?), pero como no podía ganarme el «string to stream», decidi realizarlo de la otra forma , pero para la próxima lo uso.

 

Para los curiosos, los enlaces:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *