symfony一键提交表单——多文件上传

公共js(被调用):

function consultFileOperate(fileId,showId){
    this.myfiles = new FormData();
    this.fileName = new Array();
    that = this;
    function cloneFileContent(){
      return   $("<li class='liststyle icon-fileTitle'><a style='margin-left: 20px;cursor: pointer;color: #204b88;'>删除</a></li>").clone();
    };
    this.operate = function(){
        var files = $("#"+fileId)[0].files;
        var flag = 0;
        for(var i = 0; i < files.length;i++){
            if($.inArray(files.item(i).name,this.fileName) == -1){
                var time = (new Date()).getTime();
                that.myfiles.append(time,files[i]);
                temp = time;
                that.fileName.push(files.item(i).name);
                var temp = cloneFileContent();
                temp.prepend("<span style='display: none'>"+time+"</span>"+files.item(i).name).find("a").click(function(){
                    var index = $(this).prev("span").text();
                    that.myfiles.delete(index);
                    that.fileName.splice($(this).parents("li").index(),1);
                    $(this).parent().remove();
                });
                $("#"+showId+"  ul").append(temp);
            }else{
                flag = 1;
            }
        }
        if(flag == 1){
            $.messager.alert("提示信息","请勿重复添加图片","info");
        }
        $("#"+fileId).val('');
        
    };

    this.beforeFile = function(files){
        $.each(files,function(index,value){
            var temp = cloneFileContent();
            temp.prepend("<span style='display: none'>"+value.id+"</span>"+value.filename).find("a").click(function(){
                $(this).parent().remove();
                $.post("delCaseFileById",{id:$(this).prev("span").text()},function(data){},"json");
            });
            $("#"+showId+" ul").append(temp);

        });
    }
 }

/**
 *文件上传的相关操作,从zhuye.js中拿过来的
 **/
var consultfile = new  consultFileOperate("consultfileupload","consoultFileshowview");

表单提交函数:

caseinquiryformsubmit:function(){
    var caseInquiryfile=[];
    for(var value of inquiryFile.myfiles.values()){
        caseInquiryfile.push(value);
    }
    inquiryFile.myfiless = new FormData();
    $.each($("#updateinquiryform").serializeArray(),function(i,val){
        inquiryFile.myfiless.append(val.name,val.value);
    });
    $.each(caseInquiryfile,function(i,val){
        inquiryFile.myfiless.append("caseInquiryfile[]",caseInquiryfile[i]);
    });
    $.ajax({
        type:'POST',
        url:"",
        cache: false,
        data:  inquiryFile.myfiless,
        contentType: false,
        processData: false,
        async: true,
        success: function(data){
            $.messager.alert("提示信息",data.msg);
        },
    });
}

html:

<div class="addinquiry-leftbutton">
    <span>上传病历资料:</span>
    <a class="easyui-linkbutton" οnclick="$('#upinquiry-meddataupload').click()" style="width: 80px;height: 30px" type="button">选择文件</a>
    <div style="overflow: auto; display: block" id="upinquiry-fileshow">
        <ul>
        </ul>
    </div>
    <input  id="upinquiry-meddataupload" type="file" multiple="multiple" name="caseInquiryfile[]" οnchange="inquiryFile.operate()" style="display: none;"/>
</div>

后台(控制器):

$params=$request->request->all();
$file=$request->files->get('caseInquiryfile');
$upload=$this->get('app.file_uploader');
foreach($file as $key=>$value){
    if($value){
        $fileInfo=$upload->upload($value,'consultfile');
        $this->getRe('AppBundle:TmConsultfile')->add($fileInfo,$caseInquiryId,3);
    }
}

 

 

转载于:https://my.oschina.net/u/3334597/blog/1163020

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值