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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +'
';
}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 +'
';
}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 +'
';
}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 +'
';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}
}
});
}else{
if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
str = str +' ';
}
}
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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 = ' ';
}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 = ' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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 +' ';
}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);
});
};