我遇到了一个问题,我需要将数据对象和文件上传到我的asp.net WebAPI服务器。以前我的对象的POST操作正常,但现在我必须上传一个文件,其中包含我无休止的问题。
这是我接受供应商对象和文件的服务:
createSupplier(supplier: Supplier, file: any) {
var headers = new Headers();
headers.append('Content-Type', 'multipart/form-data');
headers.append('Accept', 'application/json');
var input = new FormData();
input.append("file", file, file.name);
input.append("supplier", supplier);
return this._http.post(this._globalService.getURL() + "api/supplier", input, { headers: headers }).map(res => res.json())
}
我的WebApi服务器:
[HttpPost]
[Route("api/supplier")]
public IHttpActionResult AddSupplier([FromBody]Supplier supplier, [FromBody] dynamic file)
{
var result = supplierSVC.AddSupplier(supplier);
if (result.isSuccessful)
{
return this.Content(HttpStatusCode.OK, new { response = result.Message });
}
return this.Content(HttpStatusCode.BadRequest, new { response = result.Message });
}
我收到错误:
此资源不支持请求实体的媒体类型“multipart / form-data”。
和
没有MediaTypeFormatter可用于从媒体类型为“multipart / form-data”的内容中读取“供应商”类型的对象。
真的不确定将数据发送到什么格式,因为它是一个混合的数据包。任何帮助都会感激不尽