公司的交易系统,许多地用到了文件上传。一直没有好好研究过,今天看了看,代码细节有看不懂的地,大致流程理了下:
自己画了下总流程。(iframe跨域跳转)
具体的页面流程:
上传的页面 在zbwj_add.html页面点击上传,弹出上图的框。(iframe跨域跳到file系统的upload.html页面).
http://123.56.26.24:19780/file/uploader.html?bdGuids=bcf00278-54e9-4551-a1f0-7f5397c7dd0b&wjType=1&sysId=400&dbType=&userGuid=&url=http://123.56.26.24:19710/jy-zhaobiao/crossDomain.html&isMulti=false&filter=ZBJ
代码:
function fileUpload(uploadType, uploadId){ var fileUploadUrl = newFileUpLoad; var appendParam = ''; window.uploadType = uploadType || ''; window.uploadId = uploadId || ''; var isMulti = false; if(uploadType == 'qita'){//上传其他文件,可同时上传多个 isMulti = true; } var permitUploadSuffix = 'doc,docx,PDF,xls,xlsx,jpg,jpeg,png,rar,zip'; if(uploadType == 'jsb'){//上传技术标文件,根据选择的标段限制文件后缀 if(preBdLeiXing==null){ alertMessage("请选择工程标段"); return; } if(!selectedBd()){ alertMessage("请选择工程标段"); return false; } permitUploadSuffix = getPermitZbwjUploadSuffix(preBdLeiXing) || '*'; fileUploadUrl = newFileUploadZbwj; if($("#jsbFuJianGuid_" + uploadId).val()){ appendParam = '&jsbFileId=' + $("#jsbFuJianGuid_" + uploadId).val(); } }else if(uploadType == 'swb'){//上传商务标文件,限制文件后缀为商务标文件后缀 permitUploadSuffix = 'ZBS'; fileUploadUrl = newFileUploadZbqd; if($("#kzjFuJianGuid_" + uploadId).val()){ appendParam = '&kzjFileId=' + $("#kzjFuJianGuid_" + uploadId).val(); } }else if(uploadType == 'kzj'){//上传控制价文件,限制文件后缀为控制价文件后缀 permitUploadSuffix = 'BDS'; fileUploadUrl = newFileUploadZbqd; if($("#swbFuJianGuid_" + uploadId).val()){ appendParam = '&zbqdFileId=' + $("#swbFuJianGuid_" + uploadId).val(); } }else if(uploadType == 'tz'){ permitUploadSuffix = 'doc,docx,PDF,xls,xlsx,jpg,jpeg,png,rar,zip'; //fileUploadUrl = newFileUploadZbqd; if($("#tzFuJianGuid_" + uploadId).val()){ appendParam = '&tzFileId=' + $("#tzFuJianGuid_" + uploadId).val(); } } var userGuid="<#if (user.user_Guid)??>${(user.user_Guid)!}<#else>${(user.userQiYe_Guid)!}</#if>"; var upUrl = newFileUpLoad+"?"; if(uploadType=='jsb'){ var bdGuidArray = new Array(); var bdGuidObj = $("form input[id^='bdGuid_']"); bdGuidObj.each(function(){ bdGuidArray.push($(this).val()); }); if(bdGuidArray.length==0){ alertMessage("请先选择标段。"); return; } upUrl = newFileUploadZbwj+"?bdGuids="+bdGuidArray.join(',')+"&wjType=1&"; } var uploader = "<iframe id='mainFrame' src='"+upUrl+"sysId=400&dbType=&userGuid="+userGuid+"&url="+zbCrossDomain+"&isMulti="+isMulti+"&filter="+permitUploadSuffix+appendParam+"' width='100%' height='100%' frameborder:'0' scrolling:'no' ></iframe>"; $("#upload_file").window({ title:"上传文件", height:400, width:700, minimizable:false, modal:true, collapsible:false, maximizable:false, resizable:false, content:uploader }); }