Ich versuche, eine Datei in Chunks an einen HttpHandler senden, aber wenn ich die Anfrage im HttpContext erhalten, ist der InputStream leer.Senden von Dateien in Chunks an HttpHandler
So ein: während ich nicht sicher bin, ob das Senden meiner HttpWebRequest gültig ist und b: beim Empfang Ich bin nicht sicher, wie der Strom in der Httpcontext
Jede Hilfe sehr geschätzt abzurufen!
Diese, wie ich meine Anfrage vom Client-Code machen:
private void Post(byte[] bytes)
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://localhost:2977/Upload");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.SendChunked = true;
req.Timeout = 400000;
req.ContentLength = bytes.Length;
req.KeepAlive = true;
using (Stream s = req.GetRequestStream())
{
s.Write(bytes, 0, bytes.Length);
s.Close();
}
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
}
das ist, wie ich die Anfrage in dem Httphandler behandeln:
public void ProcessRequest(HttpContext context)
{
Stream chunk = context.Request.InputStream; //it's empty!
FileStream output = new FileStream("C:\\Temp\\myTempFile.tmp", FileMode.Append);
//simple method to append each chunk to the temp file
CopyStream(chunk, output);
}
Was ist CopyStream zu tun? Versuchen Sie es mit einem StreamReader und lesen Sie context.Request.TotalBytes Bytes davon. – configurator