У меня есть ajax-загрузка с использованием файлового ввода, которая отлично работает даже для загрузок среднего размера (например, 12 МБ работает отлично).Однако при большой загрузке (например, 40 МБ) он либо не передает «лишние» данные формы, либо серверный код (классический ASP) пытается обработать их до завершения загрузки и передачи данных?
JS выглядит следующим образом:
$('#file').fileinput({
maxFileSize: 45000 ,
maxFileCount: 1,
required: true,
uploadUrl: 'ajax_upload.asp?',
uploadAsync: false,
dropZoneEnabled: false,
uploadExtraData: function (previewId, index) {
//get checkbox values
var strShowTo = ''
showToUserIDs: $("input[name=showToUserIDs]").val(),
$("input[name='showToUserIDs']").each(function () {
if ($(this).is(':checked')) {
thisValue = $(this).val()
strShowTo = strShowTo + thisValue + ',';
}
});
var formData = new FormData();
var formData = {
privateFolder: $('select[name="privateFolder"] option:selected').val(),
title: $("input[name=title]").val(),
sendEmailNotices: $("input[name=sendEmailNotices]").val(),
body: $("input[name=description]").val(),
showToUserIDs: strShowTo
};
return formData;
},
});
Я не думаю, что это проблема с настройками сервера, поскольку я уже установил для параметра Максимальный объем тела запрашиваемого объекта значение 100 МБ и для параметра Фильтрация запросов / Изменить параметры функции / Максимально допустимую длину содержимого до100mb.
Когда я загружаю большой файл, все значения uploadExtraData "" на стороне серверакод.Однако они перечислены в разделе «данные формы» сетевого инспектора в Chrome: