Morgend.
Ik heb een probleem met het saven van een bestand in samen spraak met een memorystream.
De bedoeling is dat de memorystream de files van de server haalt en deze terug streamed naar de gebruiker. De pagina die daar voor wordt gebruikt staat ook op die server. Hij begint met de download maar neemt gewoon het bestand niet mee, in plaats daarvan krijg ik gewoon de header van de pagina.
Ik heb al gezocht en gezocht maar vind het niet echt terug en ik ben een noob als het op C# aankomt daarom vraag ik het hier.
Dit is de code die ik nu heb.
Het is bij lijn 51 tot 53 dat ik nog iets moet bijzetten maar ik weet niet goed wat, heb al vanalles geprobeerd.
Dank bij voorbaat.
Ik heb een probleem met het saven van een bestand in samen spraak met een memorystream.
De bedoeling is dat de memorystream de files van de server haalt en deze terug streamed naar de gebruiker. De pagina die daar voor wordt gebruikt staat ook op die server. Hij begint met de download maar neemt gewoon het bestand niet mee, in plaats daarvan krijg ik gewoon de header van de pagina.
Ik heb al gezocht en gezocht maar vind het niet echt terug en ik ben een noob als het op C# aankomt daarom vraag ik het hier.
Dit is de code die ik nu heb.
Het is bij lijn 51 tot 53 dat ik nog iets moet bijzetten maar ik weet niet goed wat, heb al vanalles geprobeerd.
Dank bij voorbaat.
C#: tabwidth
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Net; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; namespace DownloadStream { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { try { string url = string.Empty; if (url == null || url.Length == 0) { url = "http://1.1.1.1/"; } //Initialize the input stream HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); //Initialize the output stream Response.Clear(); string file = Request.QueryString["file"]; //Response.AppendHeader("Content-Disposition:", "attachment; filename=" + file); Response.AppendHeader("Content-Disposition:", "attachment; filename=voorbeeld.doc"); Response.AppendHeader("Content-Length", resp.ContentLength.ToString()); Response.ContentType = "application/download"; //Populate the output stream byte[] ByteBuffer = new byte[1024]; MemoryStream ms = new MemoryStream(ByteBuffer, true); Stream rs = req.GetResponse().GetResponseStream(); byte[] bytes = new byte[1024]; while (rs.Read(ByteBuffer, 0, ByteBuffer.Length) > 0) { Response.BinaryWrite(ms.ToArray()); //ms.Write(ByteBuffer, 0, ByteBuffer.Length); //Response.BinaryWrite(ByteBuffer.ToString); Response.Flush(); } //Cleanup Response.End(); ms.Close(); ms.Dispose(); rs.Dispose(); ByteBuffer = null; } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", e); } } } } |