webForumDet fria alternativet

Email attachment constructor och läsa en "Stream"

.NET

3 svar · 337 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag skapar en Stream med följande lilla kodsnutt men förstår inte riktigt hur jag ska läsa av streamen när jag ska bygga ihop mitt epostmeddelande.

Dim s As System.IO.MemoryStream = crReportDocument.ExportToStream(ExportFormatType.PortableDocFormat)
' the code below will create pdfs in memory and stream them
' to the browser instead of creating files on disk.
With HttpContext.Current.Response
	.ClearContent()
	.ClearHeaders()
	.ContentType = "application/pdf"
	.AddHeader("Content-Disposition", "inline; filename=" & Fname & "")
	.BinaryWrite(s.ToArray)
	.End()
End With
Return Fname

Ovanstående kod skapar ett filnamn och en disposition (bilaga?) osv nu är det då dags att läsa av det där och sätta ihop ett epostmeddelande så jag kan skicka ordern till kunden.

Try
	Dim ms = New MemoryStream(strFileName)
	myMailMessage.Attachments.Add(ms)
	SmtpClient.Send(myMailMessage)
	myResult = True
Catch e As Exception
	infoMessage = e.Message
	myResult = False
Finally

Den nedersta koden kommer givetvis inte fungera hur läser jag av en stream och lägger till den som attachment? JAg är nära men det räcker ju inte alltid :)

Medlem sedan dec. 19996 721 inlägg
#2

ExportToStream returnerar en stream. En av Attachment-konstruktorerna tar en stream som argument. Det är allt du behöver veta.

/G

Medlem sedan jan. 20022 440 inlägg
#3

Nu tycker jag du är otrevlig emission! ;) Lösningen är att ändra vad funktionen returnerar från sträng till bilaga.

Det är allt ni behöver veta :p

Medlem sedan dec. 19996 721 inlägg
#4

Jag vet inte vad du menar, men om det funkar så är det väl OK. :)

276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)