2014-03-24 62 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文件 –