JavaScript上载进度条,xhr.status错误500,但加载一个文件
用于上载一个或多个JavaScript上载进度条,xhr.status错误500,但加载一个文件,javascript,php,xmlhttprequest,progress-bar,Javascript,Php,Xmlhttprequest,Progress Bar,用于上载一个或多个multipart/form data文件的脚本有问题 在我的客户端服务器上,当我尝试上载多个文件时,我会收到: xhr.status错误500 第一个文件上传正常,但我不能上传超过1个文件。在我的服务器上,一切正常-没有错误500。 我在网上搜索了帮助,但我只能找到有关服务器问题的信息,例如:无法接受POST、GET、选项 但是它只处理一个文件,我被卡住了 我试着一个接一个地上传文件,但是我的进度条像….一样闪烁 这是我的密码: $(document).ready( func
multipart/form data
文件的脚本有问题
在我的客户端服务器上,当我尝试上载多个文件时,我会收到:
xhr.status错误500
第一个文件上传正常,但我不能上传超过1个文件。在我的服务器上,一切正常-没有错误500。
我在网上搜索了帮助,但我只能找到有关服务器问题的信息,例如:无法接受POST、GET、选项
但是它只处理一个文件,我被卡住了
我试着一个接一个地上传文件,但是我的进度条像….一样闪烁
这是我的密码:
$(document).ready( function() {
$(".errorNotice").hide();
});
var form = document.getElementById('upload-form');
var ident = document.getElementById('ident');
var fileSelect = document.getElementById('file-select');
var uploadButton = document.getElementById('submit');
var max = document.getElementById('max');
var formUrl = form.action;
function sleep(milliseconds) {
setTimeout(function(){ return true; }, milliseconds);
}
form.onsubmit = function(event) {
event.preventDefault();
uploadButton.innerHTML = 'Trwa ładowanie...';
$("#upload-form").fadeOut();
setTimeout(function() {
$("#progressBar").fadeIn();
}, 500);
var files = fileSelect.files;
var formData = new FormData();
if( files.length > max.value) {
if( max.value == 1) {
var text = max.value + ' zdjęcie';
}
else if( max.value >1 && max.value <= 4) {
var text = max.value + ' zdjęcia';
}
else {
var text = max.value + ' zdjęć';
}
$("#progressBar").find("p").html('Możesz dodać maksymalnie: ' + text);
setTimeout(function() {
$("#progressBar").hide();
$("#upload-form").fadeIn();
}, 5000);
return false;
}
if( files.length == 0 )
{
$("#progressBar").hide();
$("#upload-form").show();
}
formData.append('ident', ident.value);
formData.append('modules', 'true');
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.type.match('image.*')) {
continue;
}
formData.append('objectPhoto[]', file, file.name);
formData.append(name, file, file.name);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', formUrl , true);
xhr.upload.addEventListener("progress", function(e) {
if(e.lengthComputable) {
var percentage = Math.round((e.loaded * 100) / e.total);
document.getElementById("bar").style.width = percentage + '%';
document.getElementById("percent").innerHTML = percentage + '%';
}
}, false);
xhr.onload = function () {
console.log(this.responseText);
if(this.responseText == "ok") {
document.getElementById("percent").innerHTML = "Zakończono";
document.getElementById("progressBar").style.display = "none";
document.getElementById("upload-form").style.display = "block";
} else {
$(".errorNotice").show();
$(".errorNotice .error-text").html(this.responseText);
}
if (xhr.status === 200) {
uploadButton.innerHTML = 'Wgraj';
} else {
$(".errorNotice").show();
$(".errorNotice .error-text").html("Wystąpił nieoczekiwany błąd o kodzie: " + xhr.status);
uploadButton.innerHTML = 'Wyślij';
}
};
xhr.send(formData);
return false;
};
$(文档).ready(函数(){
$(“.errorNotice”).hide();
});
var form=document.getElementById('upload-form');
var ident=document.getElementById('ident');
var fileSelect=document.getElementById('file-select');
var uploadButton=document.getElementById('submit');
var max=document.getElementById('max');
var formUrl=form.action;
函数睡眠(毫秒){
setTimeout(函数(){return true;},毫秒);
}
form.onsubmit=函数(事件){
event.preventDefault();
uploadButton.innerHTML='Trwaładowanie…';
$(“#上传表单”).fadeOut();
setTimeout(函数(){
$(“#progressBar”).fadeIn();
}, 500);
var files=fileSelect.files;
var formData=new formData();
如果(files.length>max.value){
如果(最大值==1){
变量文本=最大值+zdjęcie;
}
否则如果(max.value>1&&max.value如果您想使用ajax发布和进度条检查此答案,此答案几乎可以在多次上传时更改,并显示为一个进度条,但这是您需要投入工作的地方。我知道,因为我在多次上传和单次上传时使用了相同的答案。我使用此示例作为我项目的基础.