为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过jquery ajax将两个或多个“输入类型文件”字段上传到数据库中?

如何通过jquery ajax将两个或多个“输入类型文件”字段上传到数据库中?

PHP
慕盖茨4494581 2021-10-08 21:30:10

看法:


<script>

    $(document).ready(function(){

        $(".vehicle").click(function(e){

            e.preventDefault();

            vehicle_number = $("#vehicle_number").val();


            var fileInputs = $('#dl');

            var formData = new FormData();

            $.each(fileInputs, function(i,fileInput){

                if( fileInput.files.length > 0 )

                {

                    $.each(fileInput.files, function(k,file){

                        formData.append('dl[]', file);

                    });

                }

            });


            var fileInputss = $('#rc');

            var formData = new FormData();

            $.each(fileInputss, function(i,fileInputr){

                if( fileInputr.files.length > 0 )

                {

                    $.each(fileInputr.files, function(k,file){

                        formData.append('rc[]', file);

                    });

                }

            });

            formData.append('vehicle_number', vehicle_number);

            $("#success_vec").html("<img src='<?php echo base_url(); ?>assets/loading.gif'>");

            $.ajax({

                type:"POST",

                data:formData,

                processData: false,

                contentType: false,

                url:"<?php echo base_url(); ?>add_vech",

                success:function(data){

                    $("#success_vec").html(data);

                }

            });


        });

    });

</script>

<form>

    <div id="success_vec"></div>

    <div class="form-row">

        <div class="form-group col-md-6">

            <label for="vehicle_number md-addon">Vehicle Number</label>

            <input type="text" class="form-control" id="vehicle_number">

        </div>


控制器:


public function add_vech()

{

    $dataInfo = array();

    $files = $_FILES;

    print_r($files);

}

在这段代码中,我想上传两个文件,即dl and rc. 现在,问题是当我上传两个字段文件并在控制器内打印值时,它只显示最后一个文件数据,即rc. 所以,我想知道如何在控制器中打印或上传两个输入文件?请帮我。


查看完整描述

1 回答

?
噜噜哒

TA贡献1236条经验 获得超6个赞

那是因为您正在覆盖formData:


var formData = new FormData();

删除formData下面的第二个实例fileInputss:


 var fileInputss = $('#rc');

 var formData = new FormData();


查看完整回答
反对 回复 2021-10-08

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信