C# 将json中的图像的base64字节数组传递给webApi

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) {

我已经将通过jQuery上传的图像转换为base64字节数组/字符串

借助代码:

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'