我目前正在使用Web API开发REST Web服务.我遇到了处理通过POST请求传输的二进制数据(图像)的问题.
从客户端的角度来看,我已经设法使用jQuery Form Plugin发送二进制数据.但是因为我是.NET的新手(我是PHP开发人员),我在服务器上通过Web API处理这个二进制数据时遇到了困难.
为了确认jQuery Form Plugin正在正确发送图像数据,我编写了一个有效的PHP处理程序,它使用了简单的$_FILE全局变量.
现在我试图通过Web API完成相同的工作.这是我尝试过的概述.如何访问已发送的二进制数据?
模型:
namespace EDHDelivery.Models
{
public class Oferta
{
public int OfertaID { get; set; }
public string Nombre { get; set; }
public string Imagen { get; set; }
public int ComercioID { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
控制器(显示部分代码):
public Oferta Add(Oferta item)
{
/*here my item will have the POST body with form values,
automatically serialized …Run Code Online (Sandbox Code Playgroud) 当传入多个参数时,WebApi将导致异常"Can't bind multiple parameter to the request's content."。对以下代码有任何解决方案
public class A1
{
public int id {get;set;}
public string name {get;set;}
}
public class A2
{
public int id2 {get;set;}
public string name2 {get;set;}
}
[Route("Save")]
[HttpPost]
public string Save([FromBody]A1 Emp, [FromBody]List<A2> EmpMarks)
{
}
Run Code Online (Sandbox Code Playgroud)
JS文件
$http({
method: "post",
url: "/api/Employee/Save",
data: JSON.stringify({
Emp: $scope.Emp,
EmpMarks: $scope.EmpMarks
})
}).then(function (response) {
}, function () {
alert("Error Occur");
})
Run Code Online (Sandbox Code Playgroud)