使用formData的Ajax文件上载在某些文件上失败

时间:2015-05-19 19:57:24

标签: javascript php jquery ajax

使用jQuery + formData和php上传文件可以正常使用某些文件。但另一方面,我认为较大的文件似乎是文件或其他东西。 $ _POST和$ _FILES数组为空。我尝试了很多东西,但没有任何帮助。

这里的表格是:

    <form id="myform"  method ="post" enctype="multipart/form-data">
       <input type="file" id="file-documents" name="file" class="hidden">
    </form>

和js代码:

        var form = $('#myform')[0];
        var data = new FormData(form);
        data.append('job', 'upload_file');

     $.ajax({
        url: 'api.php',
        type: 'POST',
        data: data,
        async: false,
        cache: false,
        processData: false, // Don't process the files
        contentType: false, // 
        success: function(data) {
            ...
        }
    });

我在萤火虫请求中看到以下内容:

来源 ----------------------------- 15933312197684 内容处理:表格数据; NAME = “文件”; filename =“ganz alt.zip” 内容类型:application / x-zip-compressed

PK êPEëøzýtQ ù¥X 20140728164446766.pdfÄZù_×PÍ! AGTG¥dμJÀ²FÔ¥-¶QÁAÐÙJ  ì” ®EQμ`U|¶}ï÷÷î½sï9çÏ÷|ÏØùø9»¬\£o [VïfμÚjL¢þÆ«“¾J[½%&amp;1Kê¯ÚÆ!5Rö~§¿j{B,oμf« þÿ¸/âI+μμ········

...

----------------------------- 15933312197684 内容处理:表格数据; NAME = “作业”

upload_file ----------------------------- 15933312197684 -

1 个答案:

答案 0 :(得分:2)

您需要增加最大帖子文件大小。打开php.ini文件,找到变量post_max_size = 8Mupload_max_filesize = 2M。将值更改为16M或您需要的大小。小心不要让它比你真正需要的大。