公司的交易系统,许多地用到了文件上传。一直没有好好研究过,今天看了看,代码细节有看不懂的地,大致流程理了下:
自己画了下总流程。(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
});
}