Hosting domitienda.com
MisTrucos.Net - El rincón de los trucos informáticos El rincón de los trucos informáticos
Trucos ASP.NET 2 > 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.


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


Enlaces:



_____________________
Jose A. Fernandez