webForumDet fria alternativet

Skapa text fil i minnet

.NET

3 svar · 249 visningar · startad av CatZ

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

Jag vill skapa en textfil i minnet och stream:a till webläsaren, men all information jag hittat verkar vilja spara filen på hårddisken hos servern först och detta måste jag undvika.

Någon som vet hur man skapar en enkel textfil i minnet?

Medlem sedan juni 20034 013 inlägg
#2

Du bara skapar en variabel. En textfil är inget annat än en sträng.

Medlem sedan jan. 20022 440 inlägg
#3
With System.Web.HttpContext.Current.Response
	.ContentType = "application/text"
	.AddHeader("content-disposition", "attachment; filename=File.txt")
	.BinaryWrite(ms.ToArray())
	.End()
End With

Ger följande fel...

Exception Details: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: offset

Source Error:

Line 129: .ContentType = "application/text"
Line 130: .AddHeader("content-disposition", "attachment; filename=File.txt")
Line 131: .BinaryWrite(ms.ToArray())
Line 132: .End()
Line 133: End With

Vilket betyder att det inte fungerar med

Dim ms As New MemoryStream()
Dim sw As New StreamWriter(ms)

Hur ska jag skriva till response annars då?

Medlem sedan jan. 20022 440 inlägg
#4

Jag sket i streamwriter och körde med sb.Append och sb.Appendline sedan skickade jag det till en strängvariabel och läste variabeln som byte och skrev den med response.binarywrite(buf)

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)