2016-05-18 42 views
0

我试图从多部分构成读上传的文件:不能在HTTP头文件名查找

<form action="http://localhost:17034/api/v1/reports/create" method="post" enctype="multipart/form-data"> 
    <input type="text" name="myFile" id="myFile" /><br /> 
    <input type="text" name="Description" id="Description" /><br /> 
    <input type="file" name="Content" id="content" /> 
    <input type="submit" value="Submit" /> 
</form> 

我控制器操作是这样的:

[HttpPost] 
[Route("reports/create")] 
public async Task<HttpResponseMessage> Create() 
{ 
    var provider = new MultipartMemoryStreamProvider(); 
    await Request.Content.ReadAsMultipartAsync(provider); 

    foreach (HttpContent ctnt in provider.Contents) 
    { 
     //I want to ensure I read text files as a stream so want 
     //to check the file extension 
     var fileName = ctnt.Headers.ContentDisposition.FileName //NULL FOR FILE INPUT 
    } 

如果我检查内容部署时,我提出我的表格文件输入,我得到这个:

{form-data; name="myFile"} 
CreationDate: null 
DispositionType: "form-data" 
FileName: null 
FileNameStar: null 
ModificationDate: null 
Name: "\"myFile\"" 
Parameters: Count = 1 
ReadDate: null 
Size: null 
dispositionType: "form-data" 
parameters: Count = 1 

回答

0

{形式-数据; NAME = “MYFILE”}
名称: “\” MYFILE \ “”

这是因为你的名称myFile检查表单数据。您应该检查名称为Content的那个:

enter image description here