从Stream读取文件

时间:2013-02-08 10:41:53

标签: c# web-services stream filestream

我在我的自定义网络服务中发布了两个文件。现在我需要将此流读取到单独的文件中。

我发送了一个XML和一个文本文件,在Web服务中,我将其读取如下:

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

我将流作为字符串获取如下(我还添加了边界):

"\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"

我需要将其读入不同的文件。例如,我需要将XML读取到XmlDocument类型,将文本读取到.docx。

提前致谢。

2 个答案:

答案 0 :(得分:3)

你试试这个:

Stream xmlStream = System.Web.HttpContext.Current.Request.Files[0].InputStream;
Stream txtStream = System.Web.HttpContext.Current.Request.Files[1].InputStream;

答案 1 :(得分:0)

我建议使用以下功能:

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

它基本上会将你的字符串转储到文件中。