ossupload.js 63 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144
  1. stsAccessKeyId = ""
  2. stsAccessKeySecret = ""
  3. stsToken = ""
  4. var checkpoint_temp;
  5. var client = null;
  6. var requestUrl;
  7. var returnUrl;
  8. var str;
  9. var nowTime = new Date();
  10. nowTime.setTime(nowTime.getTime());
  11. var month = nowTime.getMonth()+1
  12. var day = nowTime.getDate();
  13. if(day<10){
  14. day = "0" + day;
  15. }
  16. var today = nowTime.getFullYear()+"/" + month + "/" + day + "/";
  17. /*function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) {
  18. console.log("-----------------------start");
  19. console.log("-----------------------"+realPath);
  20. requestUrl = realPath+"/a/previewController/getAccess";
  21. OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) {
  22. if (err) {
  23. return alert(err);
  24. }
  25. try {
  26. result = JSON.parse(response);
  27. } catch (e) {
  28. errmsg = 'parse sts response info error: ' + e.message;
  29. return alert(errmsg);
  30. }
  31. console.log("---------result"+result);
  32. client = new OSS.Wrapper({
  33. accessKeyId: result.AccessKeyId,
  34. accessKeySecret: result.AccessKeySecret,
  35. stsToken: result.SecurityToken,
  36. bucket: result.Bucket,
  37. endpoint: result.Endpoint,
  38. timeout:'30000'
  39. });
  40. multitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://gangwan-app.oss-cn-hangzhou.aliyuncs.com', result.AliyunUrl),divId,size, cpt);
  41. })
  42. };*/
  43. function ftlUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) {
  44. file.name.replace(" ","")
  45. file.name.replace(/—/g,"")
  46. var fileName = file.name;
  47. // 将单引号‘’都转换成',将双引号“”都转换成"
  48. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  49. // 将中括号【】转换成[],将大括号{}转换成{}
  50. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  51. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  52. // 将逗号,转换成,,将:转换成:
  53. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  54. //将中文——转换为英文-
  55. fileName = fileName.replace(/—/g,"-")
  56. fileName = fileName.replace("……","")
  57. fileName = fileName.replace("±","")
  58. var dfl=new File([file],fileName,{type:file.type});
  59. file = dfl
  60. /*console.log(file.name.indexOf("—")!=-1);
  61. console.log("-----------------------start");*/
  62. ftlMultitest(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt);
  63. };
  64. function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) {
  65. file.name.replace(" ","")
  66. file.name.replace(/—/g,"")
  67. var fileName = file.name;
  68. // 将单引号‘’都转换成',将双引号“”都转换成"
  69. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  70. // 将中括号【】转换成[],将大括号{}转换成{}
  71. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  72. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  73. // 将逗号,转换成,,将:转换成:
  74. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  75. //将中文——转换为英文-
  76. fileName = fileName.replace(/—/g,"-")
  77. fileName = fileName.replace("……","")
  78. fileName = fileName.replace("±","")
  79. var dfl=new File([file],fileName,{type:file.type});
  80. file = dfl
  81. /*console.log(file.name.indexOf("—")!=-1);
  82. console.log("-----------------------start");*/
  83. if(cpt == 1)
  84. multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,"",prefix);
  85. else
  86. multitest(client,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt);
  87. };
  88. function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) {
  89. console.log("-----------------------start");
  90. console.log("-----------------------"+realPath);
  91. file.name.replace(" ","")
  92. file.name.replace(/—/g,"")
  93. var fileName = file.name;
  94. // 将单引号‘’都转换成',将双引号“”都转换成"
  95. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  96. // 将中括号【】转换成[],将大括号{}转换成{}
  97. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  98. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  99. // 将逗号,转换成,,将:转换成:
  100. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  101. //将中文——转换为英文-
  102. fileName = fileName.replace(/—/g,"-")
  103. fileName = fileName.replace("……","")
  104. fileName = fileName.replace("±","")
  105. var dfl=new File([file],fileName,{type:file.type});
  106. file = dfl
  107. requestUrl = realPath+"/previewController/getAccess";
  108. OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) {
  109. if (err) {
  110. console.log(err);
  111. $.ajax({
  112. type:"post",
  113. url:realPath+"/previewController/saveJSError",
  114. data:{object:err.toString()},
  115. async: false,
  116. success:function(data){
  117. }
  118. });
  119. return alert(err);
  120. }
  121. try {
  122. result = JSON.parse(response);
  123. } catch (e) {
  124. errmsg = 'parse sts response info error: ' + e.message;
  125. return alert(errmsg);
  126. }
  127. console.log("---------result"+result);
  128. client = new OSS.Wrapper({
  129. accessKeyId: result.AccessKeyId,
  130. accessKeySecret: result.AccessKeySecret,
  131. stsToken: result.SecurityToken,
  132. bucket: result.Bucket,
  133. endpoint: result.Endpoint,
  134. timeout:'30000'
  135. });
  136. storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name;
  137. if(cpt == 1)
  138. multitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser);
  139. else
  140. multitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt);
  141. })
  142. };
  143. function ftlMultitest (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  144. var formdata = new FormData();
  145. formdata.append("storeAs",storeAs);
  146. formdata.append("file",file);
  147. var names = storeAs.split("/");
  148. var name = names[names.length-1];
  149. var fileLocation = "";
  150. var lookUrl = "";
  151. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  152. $.ajax({
  153. type:"get",
  154. url:realPath+"/bos/getFileStorageLocation",
  155. async: false,
  156. success:function(data){
  157. fileLocation = data.fileLocation;
  158. }
  159. });
  160. $.ajax({
  161. type:'post',
  162. url:realPath+"/bos/uploadFtl",
  163. data:formdata,
  164. contentType: false,
  165. processData: false,
  166. success:function (data1) {
  167. if(data1.code==='1'){
  168. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  169. $.ajax({
  170. type:'post',
  171. url:returnUrl,
  172. data:{
  173. "attachmentName":data1.name,
  174. "attachmentId":attachmentId,
  175. "attachmentFlag":attachmentFlag,
  176. "url":data1.url,
  177. "divIdType":divId
  178. },
  179. success:function(data){
  180. var lowerType = data.type.toLowerCase();
  181. //console.log('url : ' + data.url);
  182. if(data.status=="Success"){
  183. parent.layer.msg("上传成功!",{icon:1});
  184. var lenght =$(".trIdAdds").length;
  185. if (size != 0){
  186. lenght += size;
  187. }
  188. var addFile = "addFile"+divId;
  189. var str = '<tr class="trIdAdds">'+
  190. '<td class="text-center">' ;
  191. if(2 == fileLocation){
  192. $.ajax({
  193. type:"post",
  194. async:false,
  195. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  196. data:{"file":data.url,},
  197. success:function(result){
  198. lookUrl = result.lookUrl;
  199. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  200. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  201. }else if(isContains("pdf",data.lowerType)){
  202. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',1)">'+data.attachmentName+'</a>';
  203. }else {
  204. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',2)">'+data.attachmentName+'</a>';
  205. }
  206. }
  207. });
  208. }else{
  209. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  210. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  211. }else if(isContains("pdf",lowerType)){
  212. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+data.url+'\',1)">'+data.attachmentName+'</a>';
  213. }else {
  214. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+data.url+'\',2)">'+data.attachmentName+'</a>';
  215. }
  216. }
  217. str = str +'</td>'+
  218. '<td >'+data.createByName+'</td>'+
  219. '<td >'+data.createDate+
  220. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  221. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  222. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data1.url+'"/>'+
  223. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data1.name+'"/>'+
  224. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  225. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  226. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  227. '<input name="workAttachments['+lenght+'].divIdType" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.divIdType+'"/>'+
  228. '</td>'+
  229. '<td class="op-td">'+
  230. '<div class="op-btn-box">' ;
  231. if(2 == fileLocation){
  232. str = str +'<a href="'+lookUrl+'" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  233. }else{
  234. str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  235. }
  236. str = str +'<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+data.url+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
  237. '</div>' +
  238. '</td>'+
  239. '</tr>';
  240. /*console.log("file:"+divId);
  241. console.log("str="+str);*/
  242. $("#file"+divId).append(str);
  243. var p = Math.floor(1*100);
  244. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  245. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  246. $("#baifenbi"+divId).html(p+"%");
  247. $("#fileName"+divId).html("上传进度:");
  248. }else {
  249. parent.layer.msg("上传失败!",{icon:2});
  250. }
  251. }
  252. })
  253. }else {
  254. parent.layer.msg("上传失败!",{icon:2});
  255. }
  256. }
  257. })
  258. };
  259. function collectingAccessory(obj,url,fileUrl,uploadUserId,fileSize) {
  260. $.ajax({
  261. type: "post",
  262. url: url,
  263. data: {"url": fileUrl, "type": "1", "collectType": 1, "collectUserId": uploadUserId,"fileSize":fileSize},
  264. success: function (data) {
  265. if (data.success) {
  266. $(obj).hide()
  267. parent.layer.msg(data.str, {icon: 1});
  268. } else {
  269. parent.layer.msg(data.str, {icon: 2});
  270. }
  271. }
  272. });
  273. }
  274. function multipartUploadWithStsCollection(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) {
  275. console.log("-----------------------start");
  276. console.log("-----------------------"+realPath);
  277. var fileUrl=file.linUrl;
  278. var url=file.url;
  279. var fileSize=file.fileSize;
  280. file.fileName.replace(" ","")
  281. file.fileName.replace(/—/g,"")
  282. var fileName = file.fileName;
  283. // 将单引号‘’都转换成',将双引号“”都转换成"
  284. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  285. // 将中括号【】转换成[],将大括号{}转换成{}
  286. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  287. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  288. // 将逗号,转换成,,将:转换成:
  289. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  290. //将中文——转换为英文-
  291. fileName = fileName.replace(/—/g,"-")
  292. fileName = fileName.replace("……","")
  293. fileName = fileName.replace("±","")
  294. var dfl=new File([file],fileName,{type:file.type});
  295. file = dfl
  296. requestUrl = realPath+"/previewController/getAccess";
  297. OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) {
  298. if (err) {
  299. console.log(err);
  300. $.ajax({
  301. type:"post",
  302. url:realPath+"/previewController/saveJSError",
  303. data:{object:err.toString()},
  304. async: false,
  305. success:function(data){
  306. }
  307. });
  308. return alert(err);
  309. }
  310. try {
  311. result = JSON.parse(response);
  312. } catch (e) {
  313. errmsg = 'parse sts response info error: ' + e.message;
  314. return alert(errmsg);
  315. }
  316. console.log("---------result"+result);
  317. client = new OSS.Wrapper({
  318. accessKeyId: result.AccessKeyId,
  319. accessKeySecret: result.AccessKeySecret,
  320. stsToken: result.SecurityToken,
  321. bucket: result.Bucket,
  322. endpoint: result.Endpoint,
  323. timeout:'30000'
  324. });
  325. storeAs = url;
  326. if(cpt == 1)
  327. fBmultitestFlag(client,storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,idx,prefix,currentUser);
  328. else
  329. multitestCollection(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt,fileUrl,fileSize);
  330. })
  331. };
  332. function multitestCollection (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,fileUrl,fileSize) {
  333. var names = storeAs.split("/");
  334. var name = names[names.length-1];
  335. ossClient.multipartUpload(storeAs, file,{
  336. partSize: 1 * 1024 * 1024,
  337. parallel: 5,
  338. progress: function* (percent, cpt) {
  339. var p = Math.floor(percent*100);
  340. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  341. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  342. $("#baifenbi"+divId).html(p+"%");
  343. $("#fileName"+divId).html(file.name);
  344. checkpoint_temp = cpt;
  345. }
  346. }).then(function (result) {
  347. var fileLocation = "";
  348. var lookUrl = "";
  349. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  350. $.ajax({
  351. type:"get",
  352. url:realPath+"/bos/getFileStorageLocation",
  353. async: false,
  354. success:function(data){
  355. fileLocation = data.fileLocation;
  356. }
  357. });
  358. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  359. $.ajax({
  360. type:'post',
  361. url:returnUrl,
  362. data:{
  363. "attachmentName":file['name'],
  364. "attachmentId":attachmentId,
  365. "attachmentFlag":attachmentFlag,
  366. "fileSize":fileSize,
  367. "url":storeAs
  368. },
  369. success:function(data){
  370. var lowerType = data.type.toLowerCase();
  371. if(data.status=="Success"){
  372. parent.layer.msg("上传成功!",{icon:1});
  373. var lenght =$(".trIdAdds").length;
  374. if (size != 0){
  375. lenght += size;
  376. }
  377. var addFile = "addFile"+divId;
  378. var str = '<tr class="trIdAdds">'+
  379. '<td class="text-center">' ;
  380. if(2 == fileLocation){
  381. $.ajax({
  382. type:"post",
  383. async:false,
  384. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  385. data:{"file":data.url,},
  386. success:function(result){
  387. lookUrl = result.lookUrl;
  388. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  389. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  390. }else if(isContains("pdf",lowerType)){
  391. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',1)">'+data.attachmentName+'</a>';
  392. }else {
  393. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',2)">'+data.attachmentName+'</a>';
  394. }
  395. }
  396. });
  397. }else{
  398. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  399. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+realPath+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  400. }else if(isContains("pdf",lowerType)){
  401. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+data.url+'\',1)">'+data.attachmentName+'</a>';
  402. }else {
  403. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+data.url+'\',2)">'+data.attachmentName+'</a>';
  404. }
  405. }
  406. str = str +'</td>'+
  407. '<td >'+data.createByName+'</td>'+
  408. '<td >'+data.createDate+
  409. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  410. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  411. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.url+'"/>'+
  412. '<input name="workAttachments['+lenght+'].temporaryUrl" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.temporaryUrl+'"/>'+
  413. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  414. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  415. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  416. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  417. '<input name="workAttachments['+lenght+'].fileSize" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.fileSize+'"/>'+
  418. '</td>'+
  419. '<td class="op-td">'+
  420. '<div class="op-btn-box">';
  421. if(2 == fileLocation){
  422. str = str +'<a href="'+lookUrl+'" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  423. }else{
  424. str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  425. }
  426. str = str +'<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
  427. /*'<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/ossCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;收藏</a>'+*/
  428. '</div>' +
  429. '</td>'+
  430. '</tr>';
  431. $("#file"+divId).append(str);
  432. }else {
  433. parent.layer.msg("上传失败!",{icon:2});
  434. }
  435. }
  436. })
  437. }).catch(function (err) {
  438. console.log("err------ err:");
  439. console.log(err);
  440. });
  441. };
  442. function fBmultitestFlag (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,idx,prefix,currentUser) {
  443. var formdata = new FormData();
  444. formdata.append("storeAs",storeAs);
  445. formdata.append("file",file);
  446. var names = storeAs.split("/");
  447. var name = names[names.length-1];
  448. var fileLocation = "";
  449. var lookUrl = "";
  450. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  451. $.ajax({
  452. type:"get",
  453. url:realPath+"/bos/getFileStorageLocation",
  454. async: false,
  455. success:function(data){
  456. fileLocation = data.fileLocation;
  457. }
  458. });
  459. $.ajax({
  460. type:'post',
  461. url:realPath+"/bos/upload",
  462. data:formdata,
  463. contentType: false,
  464. processData: false,
  465. success:function (data1) {
  466. if(data1.code==='1'){
  467. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  468. $.ajax({
  469. type:'post',
  470. url:returnUrl,
  471. data:{
  472. "attachmentName":file['name'],
  473. "attachmentId":attachmentId,
  474. "attachmentFlag":attachmentFlag,
  475. "url":data1.url,
  476. "divIdType":divId
  477. },
  478. success:function(data){
  479. var lowerType = data.type.toLowerCase();
  480. //console.log('url : ' + data.url);
  481. if(data.status=="Success"){
  482. parent.layer.msg("上传成功!",{icon:1});
  483. var str = '' ;
  484. var addFile = prefix+divId;
  485. if(2 == fileLocation){
  486. $.ajax({
  487. type:"post",
  488. async:false,
  489. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  490. data:{"file":data.url,},
  491. success:function(result){
  492. lookUrl = result.lookUrl;
  493. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  494. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  495. }else if(isContains("pdf",lowerType)){
  496. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  497. }else {
  498. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  499. }
  500. }
  501. });
  502. }else{
  503. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  504. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  505. }else if(isContains("pdf",lowerType)){
  506. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  507. }else {
  508. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  509. }
  510. }
  511. $(prefix).parent().parent().find("td").eq(2).html(str)
  512. $(prefix).parent().parent().find("td").eq(0).find("input").eq(1).val(data.id)
  513. $(prefix).parent().parent().find("td").eq(0).find("input").eq(2).val(data.url)
  514. var d = new Date();
  515. var dateTime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
  516. var result = '<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  517. var delResult =
  518. '<a href="javascript:void(0)" onclick="accordingBtn(this,\''+prefix+'\')" class=\"op-btn op-btn-edit" ><i class="fa fa-edit"></i>&nbsp;修改</a>';
  519. // $(prefix).parent().parent().find("td").eq(4).append(result)
  520. }else {
  521. parent.layer.msg("上传失败!",{icon:2});
  522. }
  523. }
  524. })
  525. }else {
  526. parent.layer.msg("上传失败!",{icon:2});
  527. }
  528. }
  529. })
  530. };
  531. function multitestFlag (ossClient,storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,idx,prefix,currentUser) {
  532. var names = storeAs.split("/");
  533. var name = names[names.length-1];
  534. ossClient.multipartUpload(storeAs, file,{
  535. partSize: 1 * 1024 * 1024,
  536. parallel: 5,
  537. progress: function* (percent, cpt) {
  538. var p = Math.floor(percent*100);
  539. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  540. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  541. $("#baifenbi"+divId).html(p+"%");
  542. $("#fileName"+divId).html(file.name);
  543. checkpoint_temp = cpt;
  544. }
  545. }).then(function (result) {
  546. var fileLocation = "";
  547. var lookUrl = "";
  548. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  549. $.ajax({
  550. type:"get",
  551. url:realPath+"/bos/getFileStorageLocation",
  552. async: false,
  553. success:function(data){
  554. fileLocation = data.fileLocation;
  555. }
  556. });
  557. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  558. $.ajax({
  559. type:'post',
  560. url:returnUrl,
  561. data:{
  562. "attachmentName":file['name'],
  563. "attachmentId":attachmentId,
  564. "attachmentFlag":attachmentFlag,
  565. "url":"/"+storeAs
  566. },
  567. success:function(data){
  568. var lowerType = data.type.toLowerCase();
  569. //console.log('url : ' + data.url);
  570. if(data.status=="Success"){
  571. parent.layer.msg("上传成功!",{icon:1});
  572. var str = '' ;
  573. var addFile = prefix+divId;
  574. if(2 == fileLocation){
  575. $.ajax({
  576. type:"post",
  577. async:false,
  578. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  579. data:{"file":data.url,},
  580. success:function(result){
  581. lookUrl = result.lookUrl;
  582. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  583. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  584. }else if(isContains("pdf",lowerType)){
  585. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  586. }else {
  587. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  588. }
  589. }
  590. });
  591. }else{
  592. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  593. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  594. }else if(isContains("pdf",lowerType)){
  595. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  596. }else {
  597. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  598. }
  599. }
  600. $(prefix+"_fileTypeDiv").empty();
  601. $(prefix+"_fileTypeDiv").append(str);
  602. $(prefix+"_uploadUserName").html(currentUser);
  603. var d = new Date();
  604. var dateTime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
  605. $(prefix+"_uploadDate").html(dateTime);
  606. $(prefix+"_fileName").val(data.attachmentName);
  607. $(prefix+"_fileType").val(data.type);
  608. $(prefix+"_fileUrl").val(data.url);
  609. $(prefix+"_fileAttachmentFlag").val(data.attachmentFlag);
  610. $(prefix+"_fileAttachmentId").val(data.attachmentId);
  611. var result = '<a style="margin-top: 10px;" href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  612. var delResult =
  613. '<a href="javascript:void(0)" onclick="accordingBtn(this,\''+prefix+'\')" class=\"op-btn op-btn-edit" ><i class="fa fa-edit"></i>&nbsp;修改</a>';
  614. $(prefix+"_operation").empty();
  615. $(prefix+"_operation").append(delResult);
  616. }else {
  617. parent.layer.msg("上传失败!",{icon:2});
  618. }
  619. }
  620. })
  621. }).catch(function (err) {
  622. console.log("err------ err:");
  623. console.log(err);
  624. });
  625. };
  626. function multitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  627. var names = storeAs.split("/");
  628. var name = names[names.length-1];
  629. ossClient.multipartUpload(storeAs, file,{
  630. partSize: 1 * 1024 * 1024,
  631. parallel: 5,
  632. progress: function* (percent, cpt) {
  633. var p = Math.floor(percent*100);
  634. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  635. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  636. $("#baifenbi"+divId).html(p+"%");
  637. $("#fileName"+divId).html(file.name);
  638. checkpoint_temp = cpt;
  639. }
  640. }).then(function (result) {
  641. var fileLocation = "";
  642. var lookUrl = "";
  643. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  644. $.ajax({
  645. type:"get",
  646. url:realPath+"/bos/getFileStorageLocation",
  647. async: false,
  648. success:function(data){
  649. fileLocation = data.fileLocation;
  650. }
  651. });
  652. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  653. $.ajax({
  654. type:'post',
  655. url:returnUrl,
  656. data:{
  657. "attachmentName":file['name'],
  658. "attachmentId":attachmentId,
  659. "attachmentFlag":attachmentFlag,
  660. "fileSize":file['size'],
  661. "url":"/"+storeAs
  662. },
  663. success:function(data){
  664. var lowerType = data.type.toLowerCase();
  665. if(data.status=="Success"){
  666. parent.layer.msg("上传成功!",{icon:1});
  667. var lenght =$(".trIdAdds").length;
  668. if (size != 0){
  669. lenght += size;
  670. }
  671. var addFile = "addFile"+divId;
  672. var str = '<tr class="trIdAdds">'+
  673. '<td class="text-center">' ;
  674. if(2 == fileLocation){
  675. $.ajax({
  676. type:"post",
  677. async:false,
  678. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  679. data:{"file":data.url,},
  680. success:function(result){
  681. lookUrl = result.lookUrl;
  682. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  683. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  684. }else if(isContains("pdf",lowerType)){
  685. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',1)">'+data.attachmentName+'</a>';
  686. }else {
  687. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',2)">'+data.attachmentName+'</a>';
  688. }
  689. }
  690. });
  691. }else{
  692. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  693. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+realPath+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  694. }else if(isContains("pdf",lowerType)){
  695. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+data.url+'\',1)">'+data.attachmentName+'</a>';
  696. }else {
  697. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="openPreview(\''+data.url+'\',2)">'+data.attachmentName+'</a>';
  698. }
  699. }
  700. str = str +'</td>'+
  701. '<td >'+data.createByName+'</td>'+
  702. '<td >'+data.createDate+
  703. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  704. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  705. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.url+'"/>'+
  706. '<input name="workAttachments['+lenght+'].temporaryUrl" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.temporaryUrl+'"/>'+
  707. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  708. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  709. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  710. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  711. '<input name="workAttachments['+lenght+'].fileSize" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.fileSize+'"/>'+
  712. '</td>'+
  713. '<td class="op-td">'+
  714. '<div class="op-btn-box">';
  715. if(2 == fileLocation){
  716. if(isContains("pdf",lowerType)){
  717. str = str +'<a href="javascript:void(0)" onclick="openPreview(\''+lookUrl+'\',1)" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  718. }else{
  719. str = str +'<a href="'+lookUrl+'" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  720. }
  721. }else{
  722. str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
  723. }
  724. str = str + '<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/saveCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+data.createBy+'\')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>'+
  725. '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
  726. '</div>' +
  727. '</td>'+
  728. '</tr>';
  729. $("#file"+divId).append(str);
  730. }else {
  731. parent.layer.msg("上传失败!",{icon:2});
  732. }
  733. }
  734. })
  735. }).catch(function (err) {
  736. console.log("err------ err:");
  737. console.log(err);
  738. });
  739. };
  740. function ossCollectingAccessory(obj,url,id,uploadUserId){
  741. $.ajax({
  742. type:"post",
  743. url:url,
  744. data: {"id":id,"type":"1","collectType":1,"collectUserId":uploadUserId},
  745. success:function(data){
  746. if(data.success){
  747. parent.layer.msg(data.str,{icon:1});
  748. $(obj).hide()
  749. }else {
  750. parent.layer.msg(data.str,{icon:2});
  751. }
  752. }
  753. });
  754. }
  755. /*
  756. function multitest (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  757. var formdata = new FormData();
  758. formdata.append("storeAs",storeAs);
  759. formdata.append("file",file);
  760. var names = storeAs.split("/");
  761. var name = names[names.length-1];
  762. var fileLocation = "";
  763. var lookUrl = "";
  764. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  765. $.ajax({
  766. type:"get",
  767. url:realPath+"/bos/getFileStorageLocation",
  768. async: false,
  769. success:function(data){
  770. fileLocation = data.fileLocation;
  771. }
  772. });
  773. $.ajax({
  774. type:'post',
  775. url:realPath+"/bos/upload",
  776. data:formdata,
  777. contentType: false,
  778. processData: false,
  779. success:function (data1) {
  780. if(data1.code==='1'){
  781. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  782. $.ajax({
  783. type:'post',
  784. url:returnUrl,
  785. async:false,
  786. data:{
  787. "attachmentName":file['name'],
  788. "attachmentId":attachmentId,
  789. "attachmentFlag":attachmentFlag,
  790. "url":data1.url,
  791. "divIdType":divId
  792. },
  793. success:function(data){
  794. var lowerType = data.type.toLowerCase();
  795. // console.log('ajax requst : ' + data.status);
  796. //console.log('url : ' + data.url);
  797. if(data.status=="Success"){
  798. parent.layer.msg("上传成功!",{icon:1});
  799. var lenght =$(".trIdAdds").length;
  800. if (size != 0){
  801. lenght += size;
  802. }
  803. var addFile = "addFile"+divId;
  804. var str = '<tr class="trIdAdds">'+
  805. '<td class="text-center">' ;
  806. if(2 == fileLocation){
  807. $.ajax({
  808. type:"post",
  809. async:false,
  810. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  811. data:{"file":data.url,},
  812. success:function(result){
  813. lookUrl = result.lookUrl;
  814. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  815. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  816. }else if(isContains("pdf",lowerType)){
  817. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  818. }else {
  819. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  820. }
  821. }
  822. });
  823. }else{
  824. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  825. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  826. }else if(isContains("pdf",lowerType)){
  827. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  828. }else {
  829. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  830. }
  831. }
  832. str = str +'</td>'+
  833. '<td >'+data.createByName+'</td>'+
  834. '<td >'+data.createDate+
  835. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  836. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  837. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data1.url+'"/>'+
  838. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  839. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  840. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  841. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  842. '<input name="workAttachments['+lenght+'].divIdType" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.divIdType+'"/>'+
  843. '</td>'+
  844. '<td class="op-td">'+
  845. '<div class="op-btn-box">' +
  846. '<a href="javascript:location.href=\''+realPath+'/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>'+
  847. //'<a href="'+data1.url+'" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>'+
  848. '<a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+data.url+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
  849. '</div>' +
  850. '</td>'+
  851. '</tr>';
  852. /!*console.log("file:"+divId);
  853. console.log("str="+str);*!/
  854. $("#file"+divId).append(str);
  855. $("#flagFile").val(true);
  856. var p = Math.floor(1*100);
  857. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  858. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  859. $("#baifenbi"+divId).html(p+"%");
  860. $("#fileName"+divId).html("上传进度:");
  861. }else {
  862. parent.layer.msg("上传失败!",{icon:2});
  863. }
  864. }
  865. })
  866. }else {
  867. parent.layer.msg("上传失败!",{icon:2});
  868. }
  869. }
  870. })
  871. };*/
  872. /*
  873. function multitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  874. var names = storeAs.split("/");
  875. var name = names[names.length-1];
  876. ossClient.multipartUpload(storeAs, file,{
  877. partSize: 1 * 1024 * 1024,
  878. parallel: 5,
  879. progress: function* (percent, cpt) {
  880. console.log(cpt);
  881. console.log('Progress: ' + percent);
  882. var p = Math.floor(percent*100);
  883. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  884. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  885. $("#baifenbi"+divId).html(p+"%");
  886. $("#fileName"+divId).html(name);
  887. checkpoint_temp = cpt;
  888. }
  889. }).then(function (result) {
  890. console.log("uploadPath:"+uploadPath);
  891. console.log("rusult:"+result);
  892. console.log("end-------result:");
  893. returnUrl = realPath+"/a/sys/workattachment/saveAttachment";
  894. $.ajax({
  895. type:'post',
  896. url:returnUrl,
  897. data:{
  898. "attachmentName":file['name'],
  899. "attachmentId":attachmentId,
  900. "attachmentFlag":attachmentFlag,
  901. "url":uploadPath
  902. },
  903. success:function(data){
  904. console.log('ajax requst : ' + data.status);
  905. if(data.status=="Success"){
  906. parent.layer.msg("上传成功!",{icon:1});
  907. var lenght =$(".trIdAdds").length;
  908. if (size != 0){
  909. lenght += size;
  910. }
  911. var addFile = "addFile"+divId;
  912. var str = '<tr class="trIdAdds">'+
  913. '<td class="text-center">' ;
  914. if (isContains("jpg,png,gif,bmp,jpeg",data.type)){
  915. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+realPath+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  916. }else if(isContains("pdf",data.type)){
  917. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  918. }else {
  919. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  920. }
  921. str = str +'</td>'+
  922. '<td >'+data.createByName+'</td>'+
  923. '<td >'+data.createDate+
  924. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  925. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  926. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.url+'"/>'+
  927. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  928. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  929. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  930. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  931. '</td>'+
  932. '<td class="op-td">'+
  933. '<div class="op-btn-box">' +
  934. '<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>'+
  935. '<a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
  936. '</div>' +
  937. '</td>'+
  938. '</tr>';
  939. console.log("file:"+divId);
  940. console.log("str="+str);
  941. $("#file"+divId).append(str);
  942. // $("img").not(".upload_ico").each(function () {
  943. // var num = 1 ;
  944. // $(this).live("click",function () {
  945. // var flag = num%2;
  946. // if(flag == 1){
  947. // $(this).css("width","90%");
  948. // $(this).css("height","90%");
  949. // num++;
  950. // }else if(flag ==0){
  951. // $(this).css("width","50px");
  952. // $(this).css("height","50px");
  953. // num++;
  954. // }
  955. // })
  956. // });
  957. }else {
  958. parent.layer.msg("上传失败!",{icon:2});
  959. }
  960. }
  961. })
  962. }).catch(function (err) {
  963. console.log("err------ err:");
  964. console.log(err);
  965. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath, size,checkpoint_temp);
  966. });
  967. };*/
  968. function isContains(str, substr) {
  969. return str.indexOf(substr) >= 0;
  970. }
  971. function deleteFileFromAliyun(obj,deleteUrl,addFile,divId){
  972. /*console.log("---------------------------------:");
  973. console.log(divId);
  974. console.log("---------------------------------");*/
  975. if (divId==null || divId== undefined || divId == ''){
  976. divId = "_attachment";
  977. }
  978. var fileDiv = divId.substr(1,divId.length)+"_file";
  979. /*console.log("---------------------------------:");
  980. console.log(fileDiv);
  981. console.log("---------------------------------");*/
  982. $("#"+fileDiv).val("");
  983. $.ajax({
  984. type:"post",
  985. url:deleteUrl,
  986. success:function(data){
  987. if(data.str){
  988. parent.layer.msg('删除成功',{icon:1});
  989. $(obj).parent().parent().parent().remove();
  990. $("#"+addFile).hide();
  991. }else {
  992. parent.layer.msg('删除失败',{icon:2});
  993. }
  994. }
  995. });
  996. }
  997. function deleteFileFromAliyun1(obj,deleteUrl,addFile,divId){
  998. /*console.log("---------------------------------:");
  999. console.log(divId);
  1000. console.log("---------------------------------");*/
  1001. if (divId==null || divId== undefined || divId == ''){
  1002. divId = "_attachment";
  1003. }
  1004. var fileDiv = divId.substr(1,divId.length)+"_file";
  1005. /*console.log("---------------------------------:");
  1006. console.log(fileDiv);
  1007. console.log("---------------------------------");*/
  1008. $("#"+fileDiv).val("");
  1009. parent.layer.msg('删除成功',{icon:1});
  1010. $(obj).parent().parent().parent().remove();
  1011. $("#"+addFile).hide();
  1012. }
  1013. function fileCollectAccessory(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) {
  1014. file.name.replace(" ","")
  1015. file.name.replace(/—/g,"")
  1016. var fileName = file.name;
  1017. // 将单引号‘’都转换成',将双引号“”都转换成"
  1018. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  1019. // 将中括号【】转换成[],将大括号{}转换成{}
  1020. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  1021. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  1022. // 将逗号,转换成,,将:转换成:
  1023. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  1024. //将中文——转换为英文-
  1025. fileName = fileName.replace(/—/g,"-")
  1026. fileName = fileName.replace("……","")
  1027. fileName = fileName.replace("±","")
  1028. var dfl=new File([file],fileName,{type:file.type});
  1029. file = dfl
  1030. requestUrl = realPath+"/previewController/getAccess";
  1031. OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) {
  1032. if (err) {
  1033. console.log(err);
  1034. $.ajax({
  1035. type: "post",
  1036. url: realPath + "/previewController/saveJSError",
  1037. data: {object: err.toString()},
  1038. async: false,
  1039. success: function (data) {
  1040. }
  1041. });
  1042. return alert(err);
  1043. }
  1044. try {
  1045. result = JSON.parse(response);
  1046. } catch (e) {
  1047. errmsg = 'parse sts response info error: ' + e.message;
  1048. return alert(errmsg);
  1049. }
  1050. console.log("---------result" + result);
  1051. client = new OSS.Wrapper({
  1052. accessKeyId: result.AccessKeyId,
  1053. accessKeySecret: result.AccessKeySecret,
  1054. stsToken: result.SecurityToken,
  1055. bucket: result.Bucket,
  1056. endpoint: result.Endpoint,
  1057. timeout: '30000'
  1058. });
  1059. storeAs = "attachment-file/" + storeAs + "/" + today + new Date().getTime() + file.name;
  1060. collectAccessory(client, storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, size, cpt);
  1061. })
  1062. };
  1063. function collectAccessory (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  1064. var names = storeAs.split("/");
  1065. var name = names[names.length-1];
  1066. ossClient.multipartUpload(storeAs, file,{
  1067. partSize: 1 * 1024 * 1024,
  1068. parallel: 5,
  1069. progress: function* (percent, cpt) {
  1070. var p = Math.floor(percent*100);
  1071. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  1072. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  1073. $("#baifenbi"+divId).html(p+"%");
  1074. checkpoint_temp = cpt;
  1075. }
  1076. }).then(function (result) {
  1077. var fileLocation = "";
  1078. var lookUrl = "";
  1079. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  1080. $.ajax({
  1081. type:"get",
  1082. url:realPath+"/bos/getFileStorageLocation",
  1083. async: false,
  1084. success:function(data){
  1085. fileLocation = data.fileLocation;
  1086. }
  1087. });
  1088. returnUrl = realPath+"/collectAccessory/collectAccessory/saveCollectAccessory";
  1089. $.ajax({
  1090. type:'post',
  1091. url:returnUrl,
  1092. data:{
  1093. "fileName":file['name'],
  1094. "fileSize":file['size'],
  1095. "url":"/"+storeAs,
  1096. "type":"1"
  1097. },
  1098. success:function(data){
  1099. if(data.success){
  1100. parent.layer.msg("上传成功!",{icon:1});
  1101. location.reload();
  1102. }else {
  1103. parent.layer.msg("上传失败!",{icon:2});
  1104. }
  1105. }
  1106. })
  1107. }).catch(function (err) {
  1108. console.log("err------ err:");
  1109. console.log(err);
  1110. });
  1111. };