我正在使用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:false
和contentType: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中获取图像的大小。