Пожалуйста, обратитесь так, как я.Удалите pageCount()
функцию javascript из document.ready()
, поскольку вам нужно вызывать ее из внешней области.
добавьте contentType
и processData
со значением false.Обновленная функция
function pagecount() {
frmData = new FormData();
var totalFiles = document.getElementById("fileupload").files.length;
var file = document.getElementById("fileupload").files[0];
frmData.append("fileupload", file);
$.ajax({
url: '/ProductAPI/PageCount',
dataType: "json",
data:frmData,
contentType: false,
processData: false,
type: 'POST',
success: function (response) {
$('#pageCount').html(response);
},
});
}
Вызовите эту функцию JavaScript при нажатии кнопки.
<button type="button" onclick="javascript:pagecount()">Upload</button>
В Mvc Action возвращаемое количество страниц в качестве объекта json, как показано ниже
public JsonResult PageCount()
{
var file = Request.Files[0];
byte[] fileData = new byte[Request.Files[0].ContentLength];
PdfReader reader = new PdfReader(fileData);
return Json(reader.NumberOfPages);
}
Обновление представления в функции успеха ajax
success: function (response) {
$('#pageCount').html(response);
},
Это работает для меня:).Спасибо