'Read files from Stream

I posted two files to my custom web service. Now I need to read this stream into separate files.

I've sent an XML and a Text file and in the web service I read it as following:

StreamReader stream = new StreamReader(HttpContext.Current.Request.InputStream);
string xmls = stream.ReadToEnd(); 

I get the stream as string as following (I've also added the boundaries):

"\r\n------------------------------8cfd42d26566ff0\r\nContent-Disposition: form-data; name=\"uplTheFile\"; filename=\"E:\\AJ\\Demo\\EktronSite2\\XMLFiles\\XMLFile.xml\"\r\n Content-Type: application/octet-stream\r\n\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<note xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://tempuri.org/XMLFile.xsd\">\r\n  <ID>101</ID>\r\n</note>\r\n------------------------------8cfd42d26566ff0\r\nContent-Disposition: form-data; name=\"uplTheFile\"; filename=\"C:\\TEMP\\log.txt\"\r\n Content-Type: application/octet-stream\r\n\r\nABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n------------------------------8cfd42d26566ff0\r\n"

I need to read the same into different files. For example I need the XML read to XmlDocument type and the text to .docx.

Thanks in advance.



Solution 1:[1]

I would suggest to use following function :

System.IO.File.WriteAllText(string path, string contents)

It will basically dumps your string into file.

Solution 2:[2]

You can use this code:

var memoryStream = new MemoryStream();
await HttpContext.Request.Body.CopyToAsync(memoryStream);

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Lucas
Solution 2 Ali Ahmadi