公共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); } }