4

如果这个问题太愚蠢或已经问过,请原谅我,我用谷歌搜索了很多,但我没有得到任何我想要的东西。我需要使用 ajax 将字节数组传递到服务器端,但它没有按计划工作,我当前的代码如下所示

var bytes = [];

for (var i = 0; i < data.length; ++i) {
    bytes.push(data.charCodeAt(i));
}

$.ajax({
    url: '/Home/ImageUpload',
    dataType: 'json',
    type: 'POST',
    data:{ data:bytes},
    success: function (response) {
        alert("hi");
    }
}); 

上传方式

    [HttpPost]
    public ActionResult ImageUpload(byte[] data)
    {
                ImageModel newImage = new ImageModel();
                ImageDL addImage = new ImageDL();
                newImage.ImageData = data;
                addImage.AddImage(newImage);
                return Json(new { success = true });

    }

我知道我的程序有问题但我找不到它请帮我解决这个问题

4

1 回答 1

3

最好这样做:

$.ajax({
    url: '/Home/ImageUpload',
    dataType: 'json',
    type: 'POST',
    data:{ data: data}, //your string data
    success: function (response) {
        alert("hi");
    }
}); 

在控制器中:

[HttpPost]
    public ActionResult ImageUpload(string data)
    {
        var bytes = System.Text.Encoding.UTF8.GetBytes(data);
        //other stuff
    }
于 2013-06-05T12:10:04.683 回答