我想使用MVC核心控制器中的ajax调用,将字节大小的图像从javascript发送到字节[]中的控制器

我想使用MVC核心控制器中的ajax调用,将字节大小的图像从javascript发送到字节[]中的控制器,javascript,c#,asp.net-core,asp.net-core-mvc-2.0,Javascript,C#,Asp.net Core,Asp.net Core Mvc 2.0,我正在使用javascript和AJAX POST调用将一个图像文件上传到.NETMVC控制器。但问题是-- 1) 我正在使用这个脚本获取javscript中的文件大小 var FileSize=$('#ProfilePicUpload')[0]。文件[0]。大小 当我将其发送到控制器时,它不会接收字节数据类型中的任何数据。相反,它可以是字符串、int或long数据类型 1) 我已经使用jquery通过文件[0]获取了图像的大小。size。我成功获得上传图像的大小 2) 我还设置了内容类型:“应

我正在使用javascript和AJAX POST调用将一个图像文件上传到.NETMVC控制器。但问题是--

1) 我正在使用这个脚本获取javscript中的文件大小
var FileSize=$('#ProfilePicUpload')[0]。文件[0]。大小

当我将其发送到控制器时,它不会接收字节数据类型中的任何数据。相反,它可以是字符串、int或long数据类型

1) 我已经使用jquery通过
文件[0]获取了图像的大小。size
。我成功获得上传图像的大小

2) 我还设置了
内容类型:“应用程序json/UTF-8”
。和
processData:false
contentType:false
。 但这会在控制器端将字符串[]OfficialData设置为0

3) 我正在接收控制器端的字符串[]中的其余表单数据,并且只接收字节[]格式的图像大小

//OfficialData.js file

    var FileSize = $('#ProfilePicUpload')[0].files[0].size; //get size of image file.

        //ajax call
        $.ajax({
                  type: "POST",
                  url: "/Employee/AddEmployeeOfficialDetail",
                  data: { "OfficialData": Employee_Data, size: FileSize },
                  success: function (data) {
                     if (data.check === -1) {
                     jAlert("Employee Already Exists!", "Alert", function () {});}

        //controller code
        public async Task<IActionResult> AddEmployeeOfficialDetail(string[] OfficialData,byte[] size)
        {
        Employee.fileContents.FileSize = BitConverter.GetBytes(size);
        }    
//OfficialData.js文件
var FileSize=$('#ProfilePicUpload')[0]。文件[0]。大小//获取图像文件的大小。
//ajax调用
$.ajax({
类型:“POST”,
url:“/Employee/AddEmployeeOfficialDetail”,
数据:{“OfficialData”:员工_数据,大小:FileSize},
成功:功能(数据){
如果(data.check==-1){
jAlert(“员工已经存在!”,“警报”,函数(){};}
//控制器代码
公共异步任务AddEmployeeOfficialDetail(字符串[]官方数据,字节[]大小)
{
Employee.fileContents.FileSize=位转换器.GetBytes(大小);
}    
我得到byte[]size=null
如果使用int,则会得到图像文件的大小,如int size=34598。


我唯一的要求是从对字节[]的ajax调用中,从java脚本中准确获取图像的大小在控制器端。

为什么要尝试将字节数组用于单个数字值?如果想要数组,则需要发送数组,这意味着您必须在客户端手动将大小值拆分为其高/低阶字节。或者将类型更改为int,并在服务器上执行操作,该服务器的值为
FileSize
当你
console.log
it?@mjwills它会变成
FileSize=20857
。对于不同的文件它是不同的..但是当我
console.log
我会这样,你有没有尝试过
int size
呢?@PatrickEvans我想要字节数组,因为我想把它存储在azure blob存储中..在那里,它是以字节为单位的内容[]仅..这就是我被绊倒的地方!为什么要尝试使用字节数组来表示单个数字值?如果需要数组,则需要发送数组,这意味着您必须在客户端手动将大小值拆分为其高/低阶字节。或者将类型更改为int,然后在服务器上执行操作,该服务器的值是
文件的值大小
当你
console.log
it?@mjwills它会变成
FileSize=20857
。对于不同的文件它是不同的。但是当我
console.log
时我会变成这样。你有没有试过
int Size
来代替它?@PatrickEvans我想要字节数组,因为我想把它存储在azure blob存储中。在那里有内容只在字节[]中..这就是我被绊倒的地方!