【问题标题】:Multiple file upload isn't sending any data to server多个文件上传不向服务器发送任何数据
【发布时间】:2018-02-07 14:33:40
【问题描述】:

我想上传多个文件上传。 我在客户端有这个:

        $(document).on( "click", ".save-button", function () {

            var data = new FormData();
            data.append('title', $(this).parent().parent().find("#title_place").val());

            $.each($(this).parent().parent().find("input[type='file']")[0].files, function(i, file) {
                data.append('file', file);
            });

            $.ajax({type: "POST",
                url: 'save_view.php',
                data: data,
                success : viewSaveCallBack,
                cache: false,
                contentType: false,
                processData: false,
            });
        });

我检查了调试器中的所有数据,它工作正常。为了看到这一点,我显示了

的值
 $(this).parent().parent().find("#title_place").val()

还有

$(this).parent().parent().find("input[type='file']")[0].files

然后,当我尝试在服务器端 var_dump $_FILES 或 $_POST 时,它是空的。 调试器也是如此。

我也试过了

                data.append('files[]', file);

当我尝试上传单个文件时(在另一个输入中,不完全相同的代码),它工作正常。

输入的html是这个:

        <input type=\"file\" multiple directory webkitdirectory allowdirs class=\"form-control input\" id=\"marzipano\">

并且它是动态添加到 DOM 中的。

当我上传单个文件时,一切正常。

它不是 Sending multipart/formdata with jQuery.ajax 的重复,因为我已经使用了 FormData 对象,并且我的代码与答案相同。它仍然没有按预期工作。

【问题讨论】:

  • 您的.save-button 真的在提交表单吗?如果是这样,这将取消您的 AJAX 请求。
  • @RoryMcCrossan 不,我在服务器端放了一个断点,然后它就到了那里。
  • 您确定内容类型设置正确吗?见api.jquery.com/jquery.ajax
  • @dnFer 使用 FormData 对象时, contentType 应设置为 false 。

标签: javascript php jquery


【解决方案1】:

尝试做:

var files = $(this).parent().parent().find("input[type='file']")[0].files;

for(var i=0; i<files.length; i++) {
   data.append('file['+i+']', files[i]);
}

在 PHP 中,您可能会通过 $_POST["file"] 获取文件

【讨论】:

  • 还是同样的问题。为单个文件工作。
  • 您在$_POST 中获得了什么信息?
【解决方案2】:

我的代码实际上正在运行,问题是 php.ini 中的post_max_size 太低了。

【讨论】:

    猜你喜欢
    • 2011-11-17
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2014-03-07
    • 1970-01-01
    • 2016-08-19
    相关资源
    最近更新 更多