1

我正在尝试将输入文件以及用户使用 jquery 的一些额外输入发布到 Web API。

在 Web API 中,我使用 MultipartFormDataStreamProvider 来读取数据,这里是代码:-

 var provider = new MultipartFormDataStreamProvider(<some local path>);
 await request.Content.ReadAsMultipartAsync(provider);
 var formData = provider.FormData;
 foreach (string key in formData.Keys)
 {
 }
 foreach (var file in provider.FileData)
 {
    FileInfo fileInfo = new FileInfo(file.LocalFileName);
 }

在 FileData 我得到输入文件,但 FormData 没有键。

我参考了下面的文章来实现这一点

http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2

我不确定这里出了什么问题...如果有人可以帮我解决这个问题吗?

4

2 回答 2

0

下面的代码对我有用-

var provider = new MultipartMemoryStreamProvider();
    await request.Content.ReadAsMultipartAsync(provider); 
    foreach (HttpContent ctnt in provider.Contents) 
    { 
            if (ctnt != null && ctnt.Headers.ContentDisposition != null) 
            { 
               if (ctnt.Headers.ContentDisposition.Name == "\"fileToUpload\"") 
               { 
                  //code goes here
               } 
            } 
    }
于 2014-11-07T05:31:53.537 回答
0

HTML 中的每个表单输入控件(<input />, <select />, <textarea />等)是否具有名称属性?没有名称的表单输入控件不能成功(即浏览器不会发布它们的值)。

于 2013-08-22T03:53:42.157 回答