Привет, у меня есть веб-сайт, на котором на одной из страниц люди могут выбирать одно или несколько изображений с помощью контроллера загрузки файлов asp.net (в HTML это будет ввод типа «Файл»), и когда кто-то выбирает элементы, он автоматически отправляет изображения. в сервис, который я создал, чтобы справиться с этим. вот мой код JavaScript:
var fileuploader = '<%="#" + fileImages.ClientID %>';
document.querySelector(fileuploader).addEventListener('change', function (e) {
if (this.files.length > 0) {
$("#spImageError").hide();
var fd = new FormData();
for (var i = 0; i < this.files.length; i++) {
var file = this.files[i];
fd.append("file_"+i, file);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', '/Services/HandleUpload.aspx', true);
xhr.onload = function () {
if (this.status == 200) {
}
else {
console.log(this.status);
$("#spImageError").show();
};
fd = new FormData();
document.querySelector(fileuploader).value = "";
$("#UpdProgress").hide();
$("#progressOuter").hide();
UpdateImagesUpadePanel();
};
xhr.send(fd);
$("#progressOuter").show();
}
}, false);
function UpdateImagesUpadePanel() {
<%=ClientScript.GetPostBackEventReference(UpdPanel, "")%>;
}
'# spImageError' - это тег span, который показывает ошибку, если таковая возникает.
Этот код работает во всех браузерах на ПК и даже в Chrome на телефоне Android.
В браузере Mozilla он работает для 1 изображения, но не может отправить несколько изображений.
Когда я отлаживаю код, который был запущен на сервере, вместо нескольких файлов, сервер показывает только один файл, содержимое которого равно нулю. Таким образом, он вызывает ошибку и возвращает номер состояния, отличный от 200, поэтому он показывает ErrorMessage через тэг span #spImageError.
Буду признателен, если кто-нибудь поможет мне в этом вопросе