重载图像不上传Ajax / Jquery,FormData为空

时间:2014-11-27 06:23:40

标签: javascript php jquery ajax

我正在运行这个代码,它适用于每个图像高达2.5mb的小尺寸图像,并且表格最多需要8个imga,但是当我习惯于将图像超过4mb时,表单中的图像超过4个发送空白

  

$ _ POST

  

$ _文件

如果我只选择一个6mb的文件,它上传就好了,但是当我上传多个文件时,它会在服务器端向我发送空白数据。

表单包含8个文件类型的输入字段[Not multiple ones]

$('#'+Id+'_form').submit(function(e){
        var formObj = $(this);
        var formURL = formObj.attr("action");
        var formData = new FormData(this);
        $.ajax({
            url: formURL,
            type: 'POST',
            data:  formData,
            mimeType:"multipart/form-data",
            contentType: false,
            cache: false,
            processData:false,
            success: function(data, textStatus, jqXHR)
            {
                if(data){
                    data = jQuery.parseJSON( data );
                    for (var key in data) {
                        if (data.hasOwnProperty(key)) {
                            var html = '<span>Uploaded</span>';
                           // $('#'+data[key].upload+'_id').hide();
                            $('#'+data[key].upload+'_id').after(html);
                        }
                     }
                    $('#'+Id+'_uploadButton').val('Uploaded Successfully');
                }else{
                    $('#'+Id+'_uploadButton').val('Error Occurred !!!');
                }
            },
            error: function(jqXHR, textStatus, errorThrown) 
            {
            }          
        });
        e.preventDefault(); //Prevent Default action. 
        /*e.unbind();*/
    }); 
    $('#'+Id+'_form').submit();

2 个答案:

答案 0 :(得分:1)

php.ini

中试试这个
  • 的post_max_size = 30M
  • 的upload_max_filesize = 30M

或者在htaccess

中试用
  • php_value post_max_size 30M
  • php_value upload_max_filesize 30M

答案 1 :(得分:1)

这可能是因为您的服务器允许的默认请求长度。尝试在php.ini中进行设置,如下所示:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M