Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用formData数组一次上载5张图片_Javascript_Jquery_Json - Fatal编程技术网

Javascript 无法使用formData数组一次上载5张图片

Javascript 无法使用formData数组一次上载5张图片,javascript,jquery,json,Javascript,Jquery,Json,我正在创建一个机制,用于在更改文件输入时一次上载5张图片。 由于某些原因,我无法在一次尝试中上传5张图片,4张图片可以,5张图片不在同一次尝试中也可以,但同时上传5张。废话:( 这是我的代码,我想我犯了一个愚蠢的错误,请帮帮我:( 当我调试它的图片[]数组我发送如果为空,如果我上传4张图片,它的填充 var uploaded_images = 0; $('#post-upload-pictures').change(function(){ var formData = new FormD

我正在创建一个机制,用于在更改文件输入时一次上载5张图片。 由于某些原因,我无法在一次尝试中上传5张图片,4张图片可以,5张图片不在同一次尝试中也可以,但同时上传5张。废话:(

这是我的代码,我想我犯了一个愚蠢的错误,请帮帮我:( 当我调试它的图片[]数组我发送如果为空,如果我上传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');
        }
    });
});
var\u图像=0;
$(“#上传图片后”).change(函数(){
var formData=new formData(),pictures=this.files,i;
上传图片=上传图片+图片。长度;
如果(pictures.length>5 | |上传的_图像>5){
上传的图片=上传的图片-图片.length;
警觉;
返回;
}
对于(i=0;i
基本上……据我所知……您没有使用
多部分/表单数据
内容类型

因此,您的浏览器正在以单个请求的形式发送所有数据

现在…在您的服务器上(我假设是php)…应该有一个
最大请求大小的限制
。并且…我认为有5个文件超过了这个限制

增加服务器上的
最大请求大小

假设php…您必须在
php.ini
中更改这些特定内容:

// Increase as per your expected file-upload size
post_max_size = 30m
// Expected input parsing time... in seconds
max_input_time = 20
// Increase as per your expected execution time of upload script... including input parsing... in seconds
max_execution_time = 30

使用多部分/表单数据作为enctype,并将php.ini中的max_post_size和max_upload_size更改为大于五个文件的最大文件大小

我认为…这是服务器问题。