不使用ajax在服务器端接收字节数组数据

时间:2016-11-25 06:36:09

标签: javascript jquery asp.net angularjs ajax

Hello Everyone我正在使用angularjs在服务器端发送字节数组,但我没有在服务器端获取数据。 这是我的代码。

$scope.Upload = function () {
    var bytesToSend = [253, 0, 128, 1]
    var send = new Uint8Array(bytesToSend)
    var Upload = $.ajax({
        type: 'POST',
        url: "/UploadFile",
        dataType: JSON,
        contentType: false,
        data: send,
        success: function (send) {
            toastr.success("Upload Successfully");
        }
    });
    Upload.error(function () { console.log(bytesToSend+'gaurav') });

}

这是我的服务器端代码

 [HttpPost]
        [Route("UploadFile")]
        public  bool UploadedFile(byte[] send)
        {

            return false;
            //return await CenterGateWay.UpldFile(up);

        }
    }

我没有在 byte []发送中获取数据,它显示空值。 请任何人帮助我错了我在控制台获取数据 这里 [253,0,128,1] 。 现在使用firefox浏览器。

1 个答案:

答案 0 :(得分:0)

请使用以下代码解决您的问题。

 $scope.Upload = function () {
    var bytesToSend = [253, 0, 128, 1];
    var send = new Uint8Array(bytesToSend)
    var Upload = $.ajax({
        type: 'POST',
        url: "/Home/UploadFile",
        dataType: "JSON",
        data: { send: btoa(String.fromCharCode.apply(null, send)) },
        success: function (send) {
            toastr.success("Upload Successfully");
        }
    });

    Upload.error(function () { console.log(bytesToSend + 'gaurav') });
}

在控制器

 [HttpPost]
 [Route("UploadFile")]
 public  bool UploadedFile(string send)
 {
     return false;
     //return await CenterGateWay.UpldFile(up);
 }

即使我从这里得到了帮助link请参考: -