C# 将json中的图像的base64字节数组传递给webApi
我已经将通过jQuery上传的图像转换为base64字节数组/字符串 借助代码:C# 将json中的图像的base64字节数组传递给webApi,c#,javascript,json,asp.net-web-api2,C#,Javascript,Json,Asp.net Web Api2,我已经将通过jQuery上传的图像转换为base64字节数组/字符串 借助代码: function readImage(input) { debugger; if (input.files && input.files[0]) { var FR = new FileReader(); var a = null; FR.onload = function (e) {
function readImage(input) {
debugger;
if (input.files && input.files[0]) {
var FR = new FileReader();
var a = null;
FR.onload = function (e) {
array = e.target.result;
};
FR.readAsDataURL(input.files[0]);
}
我现在通过json将数组传递给我的web Api,但遇到了问题
我的json调用类似于:
$.getJSON('api/TestImage' + '/' + JSON.stringify(array))
.done(function (data) {
//doSomething
});
我的行动是:
public IHttpActionResult TestImage(String id)
{
return Ok(id);
}
因此,任何人都能说出问题所在和需要做什么
提前感谢。为什么要在URL中发送图像并获取?您应该使用请求正文中的POST发送它。base64中的图像可能非常大,并且url可能会受到一些限制。查看执行该操作的控制器的名称是什么?API调用中缺少控制器名称,即API/controller/action。假设您使用的是默认路由定义,当然。TestImage是控制器名称,我猜在api调用中没有强制操作。WebApiConfig管理它。因为它正在管理我的其余操作。请将上面的操作重命名为
Get(string id)
,或者将jQuery中的HTTP请求URL更改为'api/TestImage/TestImage'