webForumDet fria alternativet

Email attachment constructor och läsa en "Stream"

3 svar · 337 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 440 inlägg
#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 :)

emissionMedlem 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

CatZMedlem 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

emissionMedlem sedan dec. 19996 721 inlägg
#4

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

128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)