我想从angular2向web api发送多个文件

时间:2017-02-16 16:05:17

标签: angular asp.net-web-api

我有一个像下面这样的web api控制器。*注意:我拿出了里面的代码。

 [HttpPost]
        [Consumes("multipart/form-data")]
        public string SimilarFaces(IFormCollection files, IFormFile file)
        {

        }

现在我有一个angular2 post请求,我正在尝试发送一组数据,一个是包含多个文件的表单数据,另一个是包含单个文件的表单数据。这是我第一次一起使用web api和angular2,所以我不知道如何使我的帖子请求与控制器正在寻找的匹配。请在下面找到我的http邮政编码。

 similarity(files: any,file:any): Promise<any>
  {
      return this.http.post(this.serverUrl + "face/similarfaces/",data,{headers:headers})
          .toPromise()
          .then(response => response.json())
          .catch(error => error);
  }

参数'data'是我知道放置我正在发送的数据的地方,但我不知道如何正确设置它以便web api理解我发送给它的内容。我想在单个请求中发送文件和文件。

1 个答案:

答案 0 :(得分:0)

您必须以JSON格式向您发送数据。

similarit(filesOne, fileTwo){

var url = this.serverUrl + "face/similarfaces/"; 
var data = { filesOne: filesOne, fileTwo: fileTwo };
var headers = { headers:headers }

return $http.post(url, data, headers)
    .then(function(response){
        return response.data
    });
}