我正在创建一种机制,用于在更改文件输入时一次上传5张图片。
由于某种原因,我无法一次上传5张图片,4张图片还可以,并且5张图片不在同一张图片中也可以,但是一次可以上传5张... .blah :(
这是我的代码,我想我有一个愚蠢的错误,请帮我:(
当我调试它的图片[]数组时,如果为空,则发送,如果我上传4张图片,则该图片被填充。
var uploaded_images = 0;
$('#post-upload-pictures').change(function(){
var formData = new FormData(), pictures = this.files, i;
uploaded_images = uploaded_images + pictures.length;
if (pictures.length > 5 || uploaded_images > 5){
uploaded_images = uploaded_images - pictures.length;
alert('ניתן להעלות עד חמש תמונות בלבד');
return;
}
for(i=0; i < pictures.length; i++){
formData.append('pictures['+i+']', pictures[i]);
}
if(window.FormData === undefined){
alert('הדפדפן שאת משתמשת בו ישן מידיי, אנו ממליצים להתקין Chrome');
return;
}
$.ajax({
url: '/ajax/uploadPictures',
type: 'POST',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
//Ajax events
beforeSend: function(){
$('#post-upload i').removeClass('fa fa-camera-retro fa-2x').addClass('spinner');
},
success: function(url){
for(i=0; i < pictures.length; i++){
$('#post-pictures').append('<img src="' + url.pic[i] +'"/>');
}
$('#post-pictures').fadeIn();
$('#post-upload i').addClass('fa fa-camera-retro fa-2x').removeClass('spinner');
},
error: function(){
$('#post-upload i').addClass('fa fa-camera-retro fa-2x').removeClass('spinner');
}
});
});
最佳答案
使用multipart / form-data作为enctype,并在php.ini中将max_post_size和max_upload_size更改为大于五个文件的最大文件大小