我想使用MVC Core控制器中的Ajax调用将JavaScript的字节大小图像从javascript发送到byte []中的控制器

时间:2019-06-08 11:53:29

标签: javascript c# asp.net-core asp.net-core-mvc-2.0

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

1)我正在使用javscript获取文件的大小 var FileSize = $('#ProfilePicUpload')[0].files[0].size;

当我将其发送到控制器时,它不接收任何字节数据类型的数据。而是以字符串,int或long数据类型输入。

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

2)我还设置了content-type: 'application-json/UTF-8'。以及processData:falsecontentType:false。 但这会导致在控制器端将string [] OfficialData设置为0。

3)我在控制器端以string []的形式接收其余表单数据,而在byte []格式中仅以图像大小获取

//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);
        }    

I get byte[] size = null If I use int then I get size of image File like int size = 34598.

我唯一的要求是从ajax调用到控制器端的byte [],从java-script中获取图像的大小。

0 个答案:

没有答案