stsAccessKeyId = "" stsAccessKeySecret = "" stsToken = "" var checkpoint_temp; var client = null; var requestUrl; var returnUrl; var str; var nowTime = new Date(); nowTime.setTime(nowTime.getTime()); var month = nowTime.getMonth()+1 var day = nowTime.getDate(); if(day<10){ day = "0" + day; } var today = nowTime.getFullYear()+"/" + month + "/" + day + "/"; /*function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { console.log("-----------------------start"); console.log("-----------------------"+realPath); requestUrl = realPath+"/a/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:'30000' }); multitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://gangwan-app.oss-cn-hangzhou.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) };*/ function ftlUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl /*console.log(file.name.indexOf("—")!=-1); console.log("-----------------------start");*/ ftlMultitest(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt); }; function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl /*console.log(file.name.indexOf("—")!=-1); console.log("-----------------------start");*/ if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,"",prefix); else multitest(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt); }; function CollectUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else CollectMultitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function multipartUploadWithStsOnProcessAccessory(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, fileCount) { file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; multitestOnProcessAccessory(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, fileCount); }) }; function multipartUploadWithStsToDify(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multitestToDify(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function multipartUploadWithExter(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function multipartUploadWorkOrder(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multitestWorkOrder(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function ftlMultitest (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { var formdata = new FormData(); formdata.append("storeAs",storeAs); formdata.append("file",file); var names = storeAs.split("/"); var name = names[names.length-1]; var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); $.ajax({ type:'post', url:realPath+"/bos/uploadFtl", data:formdata, contentType: false, processData: false, success:function (data1) { if(data1.code==='1'){ returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":data1.name, "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "url":data1.url, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); //console.log('url : ' + data.url); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
' ; if(2 == fileLocation){ str = str +' 下载'; }else{ str = str +' 下载'; } str = str +' 删除'+ '
' + ''+ ''; /*console.log("file:"+divId); console.log("str="+str);*/ $("#file"+divId).append(str); var p = Math.floor(1*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html("上传进度:"); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }; function collectingAccessory(obj,url,fileUrl,uploadUserId,fileSize) { $.ajax({ type: "post", url: url, data: {"url": fileUrl, "type": "1", "collectType": 1, "collectUserId": uploadUserId,"fileSize":fileSize}, success: function (data) { if (data.success) { $(obj).hide() parent.layer.msg(data.str, {icon: 1}); } else { parent.layer.msg(data.str, {icon: 2}); } } }); } /* function collectingAccessory(obj,url,fileUrl,uploadUserId,fileSize){ if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗 width='auto'; height='auto'; }else{//如果是PC端,根据用户设置的width和height显示。 } top.layer.open({ type: 2, area: ['50%', '70%'], title: '收藏', maxmin: true, //开启最大化最小化按钮 content: realPath+'/projectAccessory/projectAccessory/skipSaveCollectAccessoryForm?url='+ fileUrl + '&collectUserId='+uploadUserId+'&fileSize='+ fileSize + '&type=1&collectType=1', btn: ['确定','关闭'], btn1: function(index, layero){ var body = top.layer.getChildFrame('body', index); var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method(); var inputForm = body.find('#inputForm'); var top_iframe; if(false){ top_iframe = false;//如果指定了iframe,则在改frame中跳转 }else{ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe } inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示 if(iframeWin.contentWindow.doSubmit(1) ){ // top.layer.close(index);//关闭对话框。 setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug } }, btn3: function(index){ } }); }*/ function multipartUploadWithStsCollection(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); var fileUrl=file.linUrl; var url=file.url; var fileSize=file.fileSize; file.fileName.replace(" ","") file.fileName.replace(/—/g,"") var fileName = file.fileName; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = url; if(cpt == 1) fBmultitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multitestCollection(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,fileUrl,fileSize); }) }; function multipartUploadWithStsCollectionCollect(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, fileCount,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); var fileUrl=file.linUrl; var url=file.url; var fileSize=file.fileSize; file.fileName.replace(" ","") file.fileName.replace(/—/g,"") var fileName = file.fileName; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = url; multitestCollectionCollect(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, fileCount,fileUrl,fileSize); }) }; function multitestCollectionCollect (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,fileCount,fileUrl,fileSize) { var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: 5, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":fileSize, "url":storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if(parseInt(fileCount) == parseInt(lenght)){ }else{ lenght = parseInt(fileCount); } if (size != 0){ lenght += size; } var sort = parseInt(fileCount)+1; var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+''+''+ ''+ '
'; if(2 == fileLocation){ str = str +' 下载'; }else{ str = str +' 下载'; } str = str +' 删除'+ /*' 收藏'+*/ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multitestCollection (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,fileUrl,fileSize) { var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: 5, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":fileSize, "url":storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ str = str +' 下载'; }else{ str = str +' 下载'; } str = str +' 删除'+ /*' 收藏'+*/ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function fBmultitestFlag (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,idx,prefix,currentUser) { var formdata = new FormData(); formdata.append("storeAs",storeAs); formdata.append("file",file); var names = storeAs.split("/"); var name = names[names.length-1]; var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); $.ajax({ type:'post', url:realPath+"/bos/upload", data:formdata, contentType: false, processData: false, success:function (data1) { if(data1.code==='1'){ returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "url":data1.url, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); //console.log('url : ' + data.url); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var str = '' ; var addFile = prefix+divId; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } $(prefix).parent().parent().find("td").eq(2).html(str) $(prefix).parent().parent().find("td").eq(0).find("input").eq(1).val(data.id) $(prefix).parent().parent().find("td").eq(0).find("input").eq(2).val(data.url) var d = new Date(); var dateTime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate(); var result = ' 下载'; var delResult = ' 修改'; // $(prefix).parent().parent().find("td").eq(4).append(result) }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }; function multitestFlag (ossClient,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,idx,prefix,currentUser) { var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: 5, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "url":"/"+storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); //console.log('url : ' + data.url); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var str = '' ; var addFile = prefix+divId; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } $(prefix+"_fileTypeDiv").empty(); $(prefix+"_fileTypeDiv").append(str); $(prefix+"_uploadUserName").html(currentUser); var d = new Date(); var dateTime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate(); $(prefix+"_uploadDate").html(dateTime); $(prefix+"_fileName").val(data.attachmentName); $(prefix+"_fileType").val(data.type); $(prefix+"_fileUrl").val(data.url); $(prefix+"_fileAttachmentFlag").val(data.attachmentFlag); $(prefix+"_fileAttachmentId").val(data.attachmentId); var result = ' 下载'; var delResult = ' 修改'; $(prefix+"_operation").empty(); $(prefix+"_operation").append(delResult); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } $("#flagFile").val(true); } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multitestToDify (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ' 未同步'+''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } $("#flagFile").val(true); } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function CollectMultitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multitestWorkOrder (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; } } str = str +''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multipartUploadWithStsRecordsReported(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multitestRecordsReported(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function multitestRecordsReported (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multitestOnProcessAccessory (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,fileCount) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if(parseInt(fileCount) == parseInt(lenght)){ }else{ lenght = parseInt(fileCount); } if (size != 0){ lenght += size; } var sort = parseInt(fileCount)+1; var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+''+''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /* str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function ossCollectingAccessory(obj,url,id,uploadUserId){ $.ajax({ type:"post", url:url, data: {"id":id,"type":"1","collectType":1,"collectUserId":uploadUserId}, success:function(data){ if(data.success){ parent.layer.msg(data.str,{icon:1}); $(obj).hide() }else { parent.layer.msg(data.str,{icon:2}); } } }); } function invoiceReimbursementMultipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; invoiceReimbursementMultitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt); }) }; function invoiceReimbursementMultitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function isContains(str, substr) { return str.indexOf(substr) >= 0; } function deleteFileFromAliyun(obj,deleteUrl,addFile,divId){ /*console.log("---------------------------------:"); console.log(divId); console.log("---------------------------------");*/ if (divId==null || divId== undefined || divId == ''){ divId = "_attachment"; } var fileDiv = divId.substr(1,divId.length)+"_file"; /*console.log("---------------------------------:"); console.log(fileDiv); console.log("---------------------------------");*/ $("#"+fileDiv).val(""); $.ajax({ type:"post", url:deleteUrl, success:function(data){ if(data.str){ parent.layer.msg('删除成功',{icon:1}); $(obj).parent().parent().parent().remove(); $("#"+addFile).hide(); }else { parent.layer.msg('删除失败',{icon:2}); } } }); } function deleteFileFromAliyunByInvoiceReimbursement(obj,deleteUrl,addFile,divId){ if (divId==null || divId== undefined || divId == ''){ divId = "_attachment"; } var fileDiv = divId.substr(1,divId.length)+"_file"; $("#"+fileDiv).val(""); $.ajax({ type:"post", url:deleteUrl, success:function(data){ if(data.str){ parent.layer.msg('删除成功',{icon:1}); $(obj).parent().parent().parent().remove(); $("#"+addFile).hide(); if(typeof deleteInvoiceReimbursementByNumber === 'function'){ //根据附件信息删除对应的电子发票标信息 deleteInvoiceReimbursementByNumber(data.InvoiceNumber) } }else { parent.layer.msg('删除失败',{icon:2}); } } }); } function deleteFileFromAliyun1(obj,deleteUrl,addFile,divId){ /*console.log("---------------------------------:"); console.log(divId); console.log("---------------------------------");*/ if (divId==null || divId== undefined || divId == ''){ divId = "_attachment"; } var fileDiv = divId.substr(1,divId.length)+"_file"; /*console.log("---------------------------------:"); console.log(fileDiv); console.log("---------------------------------");*/ $("#"+fileDiv).val(""); $.ajax({ type:"post", url:deleteUrl, success:function(data){ if(data.str){ parent.layer.msg('删除成功',{icon:1}); $(obj).parent().parent().parent().remove(); $("#"+addFile).hide(); }else { parent.layer.msg('删除失败',{icon:2}); } } }); } function fileCollectAccessory(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type: "post", url: realPath + "/previewController/saveJSError", data: {object: err.toString()}, async: false, success: function (data) { } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result" + result); client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout: '30000' }); storeAs = "attachment-file/" + storeAs + "/" + today + new Date().getTime() + file.name; collectAccessory(client, storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, size, cpt); }) }; function collectAccessory (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/collectAccessory/collectAccessory/saveCollectAccessory"; $.ajax({ type:'post', url:returnUrl, data:{ "fileName":file['name'], "fileSize":file['size'], "url":"/"+storeAs, "type":"1" }, success:function(data){ if(data.success){ parent.layer.msg("上传成功!",{icon:1}); location.reload(); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function temporaryMultitest (storeAs, file,filePath,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) { var formdata = new FormData(); formdata.append("storeAs",storeAs); formdata.append("file",file); formdata.append("filePath",filePath); var names = storeAs.split("/"); var name = names[names.length-1]; var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); $.ajax({ type:'post', url:realPath+"/bos/temporaryFileUpload", data:formdata, contentType: false, processData: false, success:function (data1) { if(data1.code==='1'){ returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":data1.name, "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "url":data1.url, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); //console.log('url : ' + data.url); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
' ; if(2 == fileLocation){ str = str +' 下载'; }else{ str = str +' 下载'; } str = str +' 删除'+ '
' + ''+ ''; /*console.log("file:"+divId); console.log("str="+str);*/ $("#file"+divId).append(str); var p = Math.floor(1*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html("上传进度:"); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }; function multiTypePartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size,type, cpt,idx,prefix,currentUser) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1) multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); else multiTypeTest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,type,size, cpt); }) }; function multiTypeTest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,type, size,cpt) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs, "divIdType":divId }, success:function(data){ var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } console.log(str) $("#flagFile").val(true); } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; /** * 文件名称处理 * @param file * @returns {*} */ function fileNameDispose(file){ // 处理文件名 file.name.replace(" ", ""); file.name.replace(/—/g, ""); var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g, "'").replace(/\“|\”/g, ""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g, "(").replace(/\】/g, ")").replace(/\{/g, "(").replace(/\}/g, ")"); fileName = fileName.replace(/\[/g, "(").replace(/\]/g, ")").replace(/\{/g, "(").replace(/\}/g, ")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g, ",").replace(/:/g, ":"); //将中文——转换为英文- fileName = fileName.replace(/—/g, "-"); fileName = fileName.replace(/……/g, ""); fileName = fileName.replace(/±/g, ""); fileName = fileName.replace(/#/g, ""); fileName = fileName.replace(/%/g, ""); fileName = fileName.replace(/Π/g, ""); fileName = fileName.replace(/π/g, ""); fileName = fileName.replace(/·/g, "."); return fileName; } function invoiceReimbursementMultipartUploadWithStss(storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, size, cpt, idx, prefix, currentUser) { return new Promise((resolve, reject) => { // 返回一个 Promise // 处理文件名 file.name.replace(" ", ""); file.name.replace(/—/g, ""); var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g, "'").replace(/\“|\”/g, ""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g, "(").replace(/\】/g, ")").replace(/\{/g, "(").replace(/\}/g, ")"); fileName = fileName.replace(/\[/g, "(").replace(/\]/g, ")").replace(/\{/g, "(").replace(/\}/g, ")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g, ",").replace(/:/g, ":"); //将中文——转换为英文- fileName = fileName.replace(/—/g, "-"); fileName = fileName.replace(/……/g, ""); fileName = fileName.replace(/±/g, ""); fileName = fileName.replace(/#/g, ""); fileName = fileName.replace(/%/g, ""); fileName = fileName.replace(/Π/g, ""); fileName = fileName.replace(/π/g, ""); fileName = fileName.replace(/·/g, "."); var dfl = new File([file], fileName, { type: file.type }); file = dfl; requestUrl = realPath + "/previewController/getAccess"; OSS.urllib.request(requestUrl, { method: 'GET' }, function (err, response) { if (err) { console.log(err); $.ajax({ type: "post", url: realPath + "/previewController/saveJSError", data: { object: err.toString() }, async: false, success: function (data) { } }); return reject(err); // 发生错误时,reject Promise } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return reject(errmsg); // 发生错误时,reject Promise } let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout: timeout }); storeAs = "attachment-file/" + storeAs + "/" + today + new Date().getTime() + file.name; // 继续调用上传操作,并确保 Promise 被 resolve invoiceReimbursementMultitests(client, storeAs, file, attachmentId, attachmentFlag, uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl), divId, size, cpt) .then(map => { resolve(map); // 成功时 resolve }).catch(error => { reject(error); // 如果上传失败,reject }); }); }); } function invoiceReimbursementMultitests(ossClient, storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, size, cpt) { return new Promise((resolve, reject) => { let map = new Map(); // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length - 1]; // 上传文件 ossClient.multipartUpload(storeAs, file, { partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent * 100); $("#jindutiao" + divId).attr("style", "width: " + p + "%"); $("#jindutiao" + divId).attr("aria-valuenow", p + "%"); $("#baifenbi" + divId).html(p + "%"); $("#fileName" + divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type: "get", url: realPath + "/bos/getFileStorageLocation", async: false, success: function (data) { fileLocation = data.fileLocation; } }); returnUrl = realPath + "/sys/workattachment/saveAttachment"; $.ajax({ type: 'post', url: returnUrl, data: { "attachmentName": file['name'], "attachmentId": attachmentId, "attachmentFlag": attachmentFlag, "fileSize": file['size'], "url": "/" + storeAs, "divIdType": divId }, success: function (data) { var lowerType = data.type.toLowerCase(); if (data.status == "Success") { parent.layer.msg("上传成功!", { icon: 1 }); var lenght = $(".trIdAdds").length; if (size != 0) { lenght += size; } var addFile = "addFile" + divId; var str = '' + ''; var fileUrl = ''; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ fileUrl = ''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ fileUrl = ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ fileUrl = ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ fileUrl = ''+data.attachmentName+''; }else { fileUrl = ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ fileUrl = ''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ fileUrl = ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ fileUrl = ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ fileUrl = ''+data.attachmentName+''; }else { fileUrl = ''+data.attachmentName+''; } } // 更新map并返回 map.set('fileName', file['name']); map.set("fileUrl",fileUrl) map.set("createByName",data.createByName) map.set("createDate",data.createDate) map.set("attachmentId",data.attachmentId) map.set("url",data.url) map.set("temporaryUrl",data.temporaryUrl) map.set("attachmentName",data.attachmentName) map.set("createBy",data.createBy) map.set("type",data.type) map.set("attachmentFlag",data.attachmentFlag) map.set("fileSize",data.fileSize) map.set("divIdType",data.divIdType) if(2 == fileLocation){ if(isContains("pdf",lowerType)){ download = ' 下载'; }else{ download = ' 下载'; } }else{ download = ' 下载'; } map.set("download",download) del = ' 删除'; map.set("del",del) resolve(map); // 完成操作,resolve map } else { parent.layer.msg("上传失败!", { icon: 2 }); } } }); }).catch(function (err) { reject(err); // 上传失败,reject Promise }); }); } function downloadFile(ctx, filePath, fileName) { var url = ctx + "/workfullmanage/workFullManage/downLoadAttachOnFileName?file=" + encodeURIComponent(filePath) + "&fileName=" + encodeURIComponent(fileName); var a = document.createElement('a'); a.href = url; a.download = fileName; // 直接赋值 document.body.appendChild(a); a.click(); document.body.removeChild(a); } function CollectUploadWithStsOnFileSize(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { console.log("-----------------------start"); console.log("-----------------------"+realPath); file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; if(cpt == 1){ multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser); } else { CollectMultitestOnSize(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size); } }) }; function CollectMultitestOnSize (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size) { console.log('进入了方法') // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs }, success:function(data){ //对文件大小进行计算 // 1. 将字节数转为数值(避免字符串计算错误),默认值设为0(处理null/undefined情况) const bytes = Number(data.fileSize) || 0; // 2. 直接计算MB并保留2位小数,拼接单位(核心逻辑一步完成) const fileSizeInMB = (bytes / (1024 * 1024)).toFixed(2); var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+fileSizeInMB+''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multipartUploadWithStsOnFileSize(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) { file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl /*console.log(file.name.indexOf("—")!=-1); console.log("-----------------------start");*/ requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; console.log("cpt",cpt) if(cpt == 1){ multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,"",prefix); } else { multitestOnFileSize(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt); } }) }; function multitestOnFileSize (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs, "divIdType":divId }, success:function(data){ //对文件大小进行计算 // 1. 将字节数转为数值(避免字符串计算错误),默认值设为0(处理null/undefined情况) const bytes = Number(data.fileSize) || 0; // 2. 直接计算MB并保留2位小数,拼接单位(核心逻辑一步完成) const fileSizeInMB = (bytes / (1024 * 1024)).toFixed(2); var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+fileSizeInMB+''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /*str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } $("#flagFile").val(true); } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multipartUploadWithStsOnProcessAccessoryAndFileSize(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, fileCount,collectType) { file.name.replace(" ","") file.name.replace(/—/g,"") var fileName = file.name; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name; multitestOnProcessAccessoryAndFileSize(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, fileCount,collectType); }) }; function multitestOnProcessAccessoryAndFileSize (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,fileCount,collectType) { // 根据文件大小动态配置 parallel let parallel; if (file.size < 50 * 1024 * 1024) { // 小于 50 MB parallel = 1; } else if (file.size < 200 * 1024 * 1024) { // 50 MB 到 200 MB parallel = 3; } else if (file.size < 1024 * 1024 * 1024) { // 200 MB 到 1 GB parallel = 5; } else { // 大于 1 GB parallel = 8; } var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: parallel, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":file['size'], "url":"/"+storeAs }, success:function(data){ //对文件大小进行计算 // 1. 将字节数转为数值(避免字符串计算错误),默认值设为0(处理null/undefined情况) const bytes = Number(data.fileSize) || 0; // 2. 直接计算MB并保留2位小数,拼接单位(核心逻辑一步完成) let fileSizeInMB = (bytes / (1024 * 1024)).toFixed(2); if(collectType){ fileSizeInMB = data.fileSize } var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if(parseInt(fileCount) == parseInt(lenght)){ }else{ lenght = parseInt(fileCount); } if (size != 0){ lenght += size; } var sort = parseInt(fileCount)+1; var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+''+''+ ''+fileSizeInMB+''+ ''+ '
'; if(2 == fileLocation){ if(isContains("pdf",lowerType)){ str = str +' 下载'; }else{ str = str +' 下载'; } }else{ str = str +' 下载'; } /* str = str + ' 收藏'+*/ str = str + ' 删除'+ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multipartUploadWithStsCollectionCollectOnFileSize(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, fileCount,collectType) { console.log("-----------------------start"); console.log("-----------------------"+realPath); var fileUrl=file.linUrl; var url=file.url; var fileSize=file.fileSize; file.fileName.replace(" ","") file.fileName.replace(/—/g,"") var fileName = file.fileName; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = url; multitestCollectionCollectOnFileSize(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, fileCount,fileUrl,fileSize,collectType); }) }; function multitestCollectionCollectOnFileSize (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,fileCount,fileUrl,fileSize,collectType) { var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: 5, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":fileSize, "url":storeAs }, success:function(data){ //对文件大小进行计算 // 1. 将字节数转为数值(避免字符串计算错误),默认值设为0(处理null/undefined情况) const bytes = Number(data.fileSize) || 0; // 2. 直接计算MB并保留2位小数,拼接单位(核心逻辑一步完成) let fileSizeInMB = (bytes / (1024 * 1024)).toFixed(2); if(collectType){ fileSizeInMB = data.fileSize } var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if(parseInt(fileCount) == parseInt(lenght)){ }else{ lenght = parseInt(fileCount); } if (size != 0){ lenght += size; } var sort = parseInt(fileCount)+1; var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+''+''+ ''+fileSizeInMB+''+ ''+ '
'; if(2 == fileLocation){ str = str +' 下载'; }else{ str = str +' 下载'; } str = str +' 删除'+ /*' 收藏'+*/ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); }; function multipartUploadWithStsCollectionOnFileSize(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,collectType) { console.log("-----------------------start"); console.log("-----------------------"+realPath); var fileUrl=file.linUrl; var url=file.url; var fileSize=file.fileSize; file.fileName.replace(" ","") file.fileName.replace(/—/g,"") var fileName = file.fileName; // 将单引号‘’都转换成',将双引号“”都转换成" fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,""); // 将中括号【】转换成[],将大括号{}转换成{} fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")"); fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")"); // 将逗号,转换成,,将:转换成: fileName = fileName.replace(/,/g,",").replace(/:/g,":"); //将中文——转换为英文- fileName = fileName.replace(/—/g,"-") fileName = fileName.replace(/……/g,"") fileName = fileName.replace(/±/g,"") fileName = fileName.replace(/#/g,"") fileName = fileName.replace(/%/g,"") fileName = fileName.replace(/Π/g,"") fileName = fileName.replace(/π/g,"") fileName = fileName.replace(/·/g,".") var dfl=new File([file],fileName,{type:file.type}); file = dfl requestUrl = realPath+"/previewController/getAccess"; OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) { if (err) { console.log(err); $.ajax({ type:"post", url:realPath+"/previewController/saveJSError", data:{object:err.toString()}, async: false, success:function(data){ } }); return alert(err); } try { result = JSON.parse(response); } catch (e) { errmsg = 'parse sts response info error: ' + e.message; return alert(errmsg); } console.log("---------result"+result); // 动态设置 timeout 时间,单位为毫秒 let timeout; if (file.size <= 10 * 1024 * 1024) { // 小于10MB timeout = 10000; // 10秒 } else if (file.size <= 100 * 1024 * 1024) { // 小于100MB timeout = 30000; // 30秒 } else { // 大于100MB timeout = 60000; // 60秒 } client = new OSS.Wrapper({ accessKeyId: result.AccessKeyId, accessKeySecret: result.AccessKeySecret, stsToken: result.SecurityToken, bucket: result.Bucket, endpoint: result.Endpoint, timeout:timeout }); storeAs = url; multitestCollectionOnFileSize(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,fileUrl,fileSize, collectType); }) }; function multitestCollectionOnFileSize (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,fileUrl,fileSize, collectType) { var names = storeAs.split("/"); var name = names[names.length-1]; ossClient.multipartUpload(storeAs, file,{ partSize: 1 * 1024 * 1024, parallel: 5, progress: function* (percent, cpt) { var p = Math.floor(percent*100); $("#jindutiao"+divId).attr("style","width: "+p+"%"); $("#jindutiao"+divId).attr("aria-valuenow",p+"%"); $("#baifenbi"+divId).html(p+"%"); $("#fileName"+divId).html(file.name); checkpoint_temp = cpt; } }).then(function (result) { var fileLocation = ""; var lookUrl = ""; //获取文件存储位置(0:本地;1:百度云;2:阿里云) $.ajax({ type:"get", url:realPath+"/bos/getFileStorageLocation", async: false, success:function(data){ fileLocation = data.fileLocation; } }); returnUrl = realPath+"/sys/workattachment/saveAttachment"; $.ajax({ type:'post', url:returnUrl, data:{ "attachmentName":file['name'], "attachmentId":attachmentId, "attachmentFlag":attachmentFlag, "fileSize":fileSize, "url":storeAs }, success:function(data){ //对文件大小进行计算 // 1. 将字节数转为数值(避免字符串计算错误),默认值设为0(处理null/undefined情况) const bytes = Number(data.fileSize) || 0; // 2. 直接计算MB并保留2位小数,拼接单位(核心逻辑一步完成) let fileSizeInMB = (bytes / (1024 * 1024)).toFixed(2); if(collectType){ fileSizeInMB = data.fileSize } var lowerType = data.type.toLowerCase(); if(data.status=="Success"){ parent.layer.msg("上传成功!",{icon:1}); var lenght =$(".trIdAdds").length; if (size != 0){ lenght += size; } var addFile = "addFile"+divId; var str = ''+ '' ; if(2 == fileLocation){ $.ajax({ type:"post", async:false, url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl", data:{"file":data.url,}, success:function(result){ lookUrl = result.lookUrl; if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } }); }else{ if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){ str = str +''+data.attachmentName+''; }else if(isContains("pdf",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("rar,zip,jar,7z",lowerType)){ str = str + ''+data.attachmentName+''; }else if(isContains("avi,wmv,mpg,mpeg,mov,rm,ram,swf,flv,mp4,rmvb",lowerType)){ str = str + ''+data.attachmentName+''; }else { str = str + ''+data.attachmentName+''; } } str = str +''+ ''+data.createByName+''+ ''+data.createDate+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+fileSizeInMB+''+ ''+ '
'; if(2 == fileLocation){ str = str +' 下载'; }else{ str = str +' 下载'; } str = str +' 删除'+ /*' 收藏'+*/ '
' + ''+ ''; $("#file"+divId).append(str); }else { parent.layer.msg("上传失败!",{icon:2}); } } }) }).catch(function (err) { console.log("err------ err:"); console.log(err); }); };