2014-03-24 38 views
0

我从web broser rest客户端发送xml文件。我需要在asp.net web api http post方法中接受xml文件。如何通过http post方法接受xml文件并解析请求头。

如何从asp.net web api http post方法获取xml文件内容,文件名和标题内容?

我提到的几个MSDN链接,如http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2,我没有得到这个教程

不知何故,我写的代码

HttpRequestMessage request = this.Request; 
var task = this.Request.Content.ReadAsStreamAsync(); 

task.Wait(); 
Stream requestStream = task.Result; 

string inp = request.Content.ReadAsStringAsync().Result; 
string result = await request.Content.ReadAsStringAsync(); 
try 
{ 
    Stream fileStream = File.Create(@"c:\\test\\1.xml"); 
    requestStream.CopyTo(fileStream); 
    fileStream.Close(); 
    requestStream.Close(); 
} 
catch (IOException) 
{ 
    throw new HttpResponseException("A generic error occured. Please try again later.", HttpStatusCode.InternalServerError); 
} 

通过这个上面的代码我没有得到完整的XML内容。

我完全不熟悉asp.net web api和.net框架。 请提供程序来实现此和代码。

+0

你如何发送它?作为文件上传?在POST?你是什​​么意思“不要获得完整的XML内容”?少了什么东西?你得到了什么? –

+0

我编辑过你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

+0

我通过http发送文件上传 –

回答

0

如果您通过文件上传发布XML文件,那么this link at www.asp.net应该有所帮助。否则,如果您只是发布一个字符串,那么除了在控制器方法中提供字符串参数以接收XML字符串(在这种情况下,Web API将自动为您执行映射)之外,您不需要执行任何其他特殊操作。

+0

我通过文件上传发布xml文件 –