3

我将两个文件发布到我的自定义 Web 服务。现在我需要将此流读入单独的文件。

我发送了一个 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&lt;?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。

提前致谢。

4

3 回答 3

4

你试试这个:

Stream xmlStream = System.Web.HttpContext.Current.Request.Files[0].InputStream;
Stream txtStream = System.Web.HttpContext.Current.Request.Files[1].InputStream;
于 2013-02-08T11:01:46.403 回答
0

我建议使用以下功能:

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

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

于 2013-02-08T11:02:45.427 回答
0

您可以使用以下代码:

var memoryStream = new MemoryStream();
await HttpContext.Request.Body.CopyToAsync(memoryStream);
于 2022-02-18T21:11:38.823 回答