ossupload.js 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818
  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. var dfl=new File([file],fileName,{type:file.type});
  58. file = dfl
  59. /*console.log(file.name.indexOf("—")!=-1);
  60. console.log("-----------------------start");*/
  61. ftlMultitest(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt);
  62. };
  63. function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) {
  64. file.name.replace(" ","")
  65. file.name.replace(/—/g,"")
  66. var fileName = file.name;
  67. // 将单引号‘’都转换成',将双引号“”都转换成"
  68. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  69. // 将中括号【】转换成[],将大括号{}转换成{}
  70. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  71. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  72. // 将逗号,转换成,,将:转换成:
  73. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  74. //将中文——转换为英文-
  75. fileName = fileName.replace(/—/g,"-")
  76. fileName = fileName.replace("……","")
  77. var dfl=new File([file],fileName,{type:file.type});
  78. file = dfl
  79. /*console.log(file.name.indexOf("—")!=-1);
  80. console.log("-----------------------start");*/
  81. if(cpt == 1)
  82. multitestFlag(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,"",prefix);
  83. else
  84. multitest(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt);
  85. };
  86. function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) {
  87. console.log("-----------------------start");
  88. console.log("-----------------------"+realPath);
  89. file.name.replace(" ","")
  90. file.name.replace(/—/g,"")
  91. var fileName = file.name;
  92. // 将单引号‘’都转换成',将双引号“”都转换成"
  93. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  94. // 将中括号【】转换成[],将大括号{}转换成{}
  95. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  96. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  97. // 将逗号,转换成,,将:转换成:
  98. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  99. //将中文——转换为英文-
  100. fileName = fileName.replace(/—/g,"-")
  101. fileName = fileName.replace("……","")
  102. var dfl=new File([file],fileName,{type:file.type});
  103. file = dfl
  104. requestUrl = realPath+"/previewController/getAccess";
  105. OSS.urllib.request(requestUrl, {method: 'GET'}, function (err, response) {
  106. if (err) {
  107. return alert(err);
  108. }
  109. try {
  110. result = JSON.parse(response);
  111. } catch (e) {
  112. errmsg = 'parse sts response info error: ' + e.message;
  113. return alert(errmsg);
  114. }
  115. console.log("---------result"+result);
  116. client = new OSS.Wrapper({
  117. accessKeyId: result.AccessKeyId,
  118. accessKeySecret: result.AccessKeySecret,
  119. stsToken: result.SecurityToken,
  120. bucket: result.Bucket,
  121. endpoint: result.Endpoint,
  122. timeout:'30000'
  123. });
  124. storeAs = "attachment-file/" + storeAs +"/"+today+new Date().getTime()+ file.name;
  125. multitest(client, storeAs, file,attachmentId,attachmentFlag,uploadPath.replace('http://dmtest-test.oss-cn-shanghai.aliyuncs.com', result.AliyunUrl),divId,size, cpt);
  126. })
  127. };
  128. function fBmultipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser) {
  129. file.name.replace(" ","")
  130. file.name.replace(/—/g,"")
  131. var fileName = file.name;
  132. // 将单引号‘’都转换成',将双引号“”都转换成"
  133. fileName = fileName.replace(/\’|\‘/g,"'").replace(/\“|\”/g,"\"");
  134. // 将中括号【】转换成[],将大括号{}转换成{}
  135. fileName = fileName.replace(/\【/g,"(").replace(/\】/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  136. fileName = fileName.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")");
  137. // 将逗号,转换成,,将:转换成:
  138. fileName = fileName.replace(/,/g,",").replace(/:/g,":");
  139. //将中文——转换为英文-
  140. fileName = fileName.replace(/—/g,"-")
  141. fileName = fileName.replace("……","")
  142. var dfl=new File([file],fileName,{type:file.type});
  143. file = dfl
  144. /*console.log(file.name.indexOf("—")!=-1);
  145. console.log("-----------------------start");*/
  146. if(cpt == 1)
  147. fBmultitestFlag(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser);
  148. else
  149. multitest(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt,idx,prefix,currentUser);
  150. };
  151. function ftlMultitest (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  152. var formdata = new FormData();
  153. formdata.append("storeAs",storeAs);
  154. formdata.append("file",file);
  155. var names = storeAs.split("/");
  156. var name = names[names.length-1];
  157. var fileLocation = "";
  158. var lookUrl = "";
  159. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  160. $.ajax({
  161. type:"get",
  162. url:realPath+"/bos/getFileStorageLocation",
  163. async: false,
  164. success:function(data){
  165. fileLocation = data.fileLocation;
  166. }
  167. });
  168. $.ajax({
  169. type:'post',
  170. url:realPath+"/bos/uploadFtl",
  171. data:formdata,
  172. contentType: false,
  173. processData: false,
  174. success:function (data1) {
  175. if(data1.code==='1'){
  176. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  177. $.ajax({
  178. type:'post',
  179. url:returnUrl,
  180. data:{
  181. "attachmentName":data1.name,
  182. "attachmentId":attachmentId,
  183. "attachmentFlag":attachmentFlag,
  184. "url":data1.url,
  185. "divIdType":divId
  186. },
  187. success:function(data){
  188. var lowerType = data.type.toLowerCase();
  189. //console.log('url : ' + data.url);
  190. if(data.status=="Success"){
  191. parent.layer.msg("上传成功!",{icon:1});
  192. var lenght =$(".trIdAdds").length;
  193. if (size != 0){
  194. lenght += size;
  195. }
  196. var addFile = "addFile"+divId;
  197. var str = '<tr class="trIdAdds">'+
  198. '<td class="text-center">' ;
  199. if(2 == fileLocation){
  200. $.ajax({
  201. type:"post",
  202. async:false,
  203. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  204. data:{"file":data.url,},
  205. success:function(result){
  206. lookUrl = result.lookUrl;
  207. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  208. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  209. }else if(isContains("pdf",data.lowerType)){
  210. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  211. }else {
  212. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  213. }
  214. }
  215. });
  216. }else{
  217. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  218. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  219. }else if(isContains("pdf",lowerType)){
  220. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  221. }else {
  222. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  223. }
  224. }
  225. str = str +'</td>'+
  226. '<td >'+data.createByName+'</td>'+
  227. '<td >'+data.createDate+
  228. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  229. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  230. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data1.url+'"/>'+
  231. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data1.name+'"/>'+
  232. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  233. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  234. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  235. '<input name="workAttachments['+lenght+'].divIdType" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.divIdType+'"/>'+
  236. '</td>'+
  237. '<td class="op-td">'+
  238. '<div class="op-btn-box">' +
  239. '<a href="'+data1.url+'" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>'+
  240. '<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>'+
  241. '</div>' +
  242. '</td>'+
  243. '</tr>';
  244. /*console.log("file:"+divId);
  245. console.log("str="+str);*/
  246. $("#file"+divId).append(str);
  247. var p = Math.floor(1*100);
  248. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  249. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  250. $("#baifenbi"+divId).html(p+"%");
  251. $("#fileName"+divId).html("上传进度:");
  252. }else {
  253. parent.layer.msg("上传失败!",{icon:2});
  254. }
  255. }
  256. })
  257. }else {
  258. parent.layer.msg("上传失败!",{icon:2});
  259. }
  260. }
  261. })
  262. };
  263. function fBmultitestFlag (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,idx,prefix,currentUser) {
  264. var formdata = new FormData();
  265. formdata.append("storeAs",storeAs);
  266. formdata.append("file",file);
  267. var names = storeAs.split("/");
  268. var name = names[names.length-1];
  269. var fileLocation = "";
  270. var lookUrl = "";
  271. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  272. $.ajax({
  273. type:"get",
  274. url:realPath+"/bos/getFileStorageLocation",
  275. async: false,
  276. success:function(data){
  277. fileLocation = data.fileLocation;
  278. }
  279. });
  280. $.ajax({
  281. type:'post',
  282. url:realPath+"/bos/upload",
  283. data:formdata,
  284. contentType: false,
  285. processData: false,
  286. success:function (data1) {
  287. if(data1.code==='1'){
  288. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  289. $.ajax({
  290. type:'post',
  291. url:returnUrl,
  292. data:{
  293. "attachmentName":file['name'],
  294. "attachmentId":attachmentId,
  295. "attachmentFlag":attachmentFlag,
  296. "url":data1.url,
  297. "divIdType":divId
  298. },
  299. success:function(data){
  300. var lowerType = data.type.toLowerCase();
  301. //console.log('url : ' + data.url);
  302. if(data.status=="Success"){
  303. parent.layer.msg("上传成功!",{icon:1});
  304. var str = '' ;
  305. var addFile = prefix+divId;
  306. if(2 == fileLocation){
  307. $.ajax({
  308. type:"post",
  309. async:false,
  310. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  311. data:{"file":data.url,},
  312. success:function(result){
  313. lookUrl = result.lookUrl;
  314. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  315. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  316. }else if(isContains("pdf",lowerType)){
  317. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  318. }else {
  319. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  320. }
  321. }
  322. });
  323. }else{
  324. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  325. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  326. }else if(isContains("pdf",lowerType)){
  327. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  328. }else {
  329. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  330. }
  331. }
  332. $(prefix).parent().parent().find("td").eq(2).html(str)
  333. $(prefix).parent().parent().find("td").eq(0).find("input").eq(1).val(data.id)
  334. $(prefix).parent().parent().find("td").eq(0).find("input").eq(2).val(data.url)
  335. var d = new Date();
  336. var dateTime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
  337. 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>';
  338. var delResult =
  339. '<a href="javascript:void(0)" onclick="accordingBtn(this,\''+prefix+'\')" class=\"op-btn op-btn-edit" ><i class="fa fa-edit"></i>&nbsp;修改</a>';
  340. // $(prefix).parent().parent().find("td").eq(4).append(result)
  341. }else {
  342. parent.layer.msg("上传失败!",{icon:2});
  343. }
  344. }
  345. })
  346. }else {
  347. parent.layer.msg("上传失败!",{icon:2});
  348. }
  349. }
  350. })
  351. };
  352. function multitestFlag (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt,idx,prefix,currentUser) {
  353. var formdata = new FormData();
  354. formdata.append("storeAs",storeAs);
  355. formdata.append("file",file);
  356. var names = storeAs.split("/");
  357. var name = names[names.length-1];
  358. var fileLocation = "";
  359. var lookUrl = "";
  360. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  361. $.ajax({
  362. type:"get",
  363. url:realPath+"/bos/getFileStorageLocation",
  364. async: false,
  365. success:function(data){
  366. fileLocation = data.fileLocation;
  367. }
  368. });
  369. $.ajax({
  370. type:'post',
  371. url:realPath+"/bos/upload",
  372. data:formdata,
  373. contentType: false,
  374. processData: false,
  375. success:function (data1) {
  376. if(data1.code==='1'){
  377. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  378. $.ajax({
  379. type:'post',
  380. url:returnUrl,
  381. data:{
  382. "attachmentName":file['name'],
  383. "attachmentId":attachmentId,
  384. "attachmentFlag":attachmentFlag,
  385. "url":data1.url,
  386. "divIdType":divId
  387. },
  388. success:function(data){
  389. var lowerType = data.type.toLowerCase();
  390. //console.log('url : ' + data.url);
  391. if(data.status=="Success"){
  392. parent.layer.msg("上传成功!",{icon:1});
  393. var str = '' ;
  394. var addFile = prefix+divId;
  395. if(2 == fileLocation){
  396. $.ajax({
  397. type:"post",
  398. async:false,
  399. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  400. data:{"file":data.url,},
  401. success:function(result){
  402. lookUrl = result.lookUrl;
  403. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  404. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  405. }else if(isContains("pdf",lowerType)){
  406. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  407. }else {
  408. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  409. }
  410. }
  411. });
  412. }else{
  413. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  414. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  415. }else if(isContains("pdf",lowerType)){
  416. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  417. }else {
  418. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  419. }
  420. }
  421. $(prefix+"_fileTypeDiv").empty();
  422. $(prefix+"_fileTypeDiv").append(str);
  423. $(prefix+"_uploadUserName").html(currentUser);
  424. var d = new Date();
  425. var dateTime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
  426. $(prefix+"_uploadDate").html(dateTime);
  427. $(prefix+"_fileName").val(data.attachmentName);
  428. $(prefix+"_fileType").val(data.type);
  429. $(prefix+"_fileUrl").val(data.url);
  430. $(prefix+"_fileAttachmentFlag").val(data.attachmentFlag);
  431. $(prefix+"_fileAttachmentId").val(data.attachmentId);
  432. 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>';
  433. var delResult =
  434. '<a href="javascript:void(0)" onclick="accordingBtn(this,\''+prefix+'\')" class=\"op-btn op-btn-edit" ><i class="fa fa-edit"></i>&nbsp;修改</a>';
  435. $(prefix+"_operation").empty();
  436. $(prefix+"_operation").append(delResult);
  437. }else {
  438. parent.layer.msg("上传失败!",{icon:2});
  439. }
  440. }
  441. })
  442. }else {
  443. parent.layer.msg("上传失败!",{icon:2});
  444. }
  445. }
  446. })
  447. };
  448. function multitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  449. var names = storeAs.split("/");
  450. var name = names[names.length-1];
  451. ossClient.multipartUpload(storeAs, file,{
  452. partSize: 1 * 1024 * 1024,
  453. parallel: 5,
  454. progress: function* (percent, cpt) {
  455. var p = Math.floor(percent*100);
  456. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  457. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  458. $("#baifenbi"+divId).html(p+"%");
  459. $("#fileName"+divId).html(file.name);
  460. checkpoint_temp = cpt;
  461. }
  462. }).then(function (result) {
  463. var fileLocation = "";
  464. var lookUrl = "";
  465. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  466. $.ajax({
  467. type:"get",
  468. url:realPath+"/bos/getFileStorageLocation",
  469. async: false,
  470. success:function(data){
  471. fileLocation = data.fileLocation;
  472. }
  473. });
  474. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  475. $.ajax({
  476. type:'post',
  477. url:returnUrl,
  478. data:{
  479. "attachmentName":file['name'],
  480. "attachmentId":attachmentId,
  481. "attachmentFlag":attachmentFlag,
  482. "url":"/"+storeAs
  483. },
  484. success:function(data){
  485. var lowerType = data.type.toLowerCase();
  486. if(data.status=="Success"){
  487. parent.layer.msg("上传成功!",{icon:1});
  488. var lenght =$(".trIdAdds").length;
  489. if (size != 0){
  490. lenght += size;
  491. }
  492. var addFile = "addFile"+divId;
  493. var str = '<tr class="trIdAdds">'+
  494. '<td class="text-center">' ;
  495. if(2 == fileLocation){
  496. $.ajax({
  497. type:"post",
  498. async:false,
  499. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  500. data:{"file":data.url,},
  501. success:function(result){
  502. lookUrl = result.lookUrl;
  503. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  504. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  505. }else if(isContains("pdf",lowerType)){
  506. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  507. }else {
  508. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  509. }
  510. }
  511. });
  512. }else{
  513. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  514. 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+'"/>';
  515. }else if(isContains("pdf",lowerType)){
  516. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  517. }else {
  518. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  519. }
  520. }
  521. str = str +'</td>'+
  522. '<td >'+data.createByName+'</td>'+
  523. '<td >'+data.createDate+
  524. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  525. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  526. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.url+'"/>'+
  527. '<input name="workAttachments['+lenght+'].temporaryUrl" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.temporaryUrl+'"/>'+
  528. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  529. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  530. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  531. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  532. '</td>'+
  533. '<td class="op-td">'+
  534. '<div class="op-btn-box">' +
  535. '<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>'+
  536. '<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>'+
  537. '</div>' +
  538. '</td>'+
  539. '</tr>';
  540. $("#file"+divId).append(str);
  541. }else {
  542. parent.layer.msg("上传失败!",{icon:2});
  543. }
  544. }
  545. })
  546. }).catch(function (err) {
  547. console.log("err------ err:");
  548. console.log(err);
  549. });
  550. };
  551. /*
  552. function multitest (storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  553. var formdata = new FormData();
  554. formdata.append("storeAs",storeAs);
  555. formdata.append("file",file);
  556. var names = storeAs.split("/");
  557. var name = names[names.length-1];
  558. var fileLocation = "";
  559. var lookUrl = "";
  560. //获取文件存储位置(0:本地;1:百度云;2:阿里云)
  561. $.ajax({
  562. type:"get",
  563. url:realPath+"/bos/getFileStorageLocation",
  564. async: false,
  565. success:function(data){
  566. fileLocation = data.fileLocation;
  567. }
  568. });
  569. $.ajax({
  570. type:'post',
  571. url:realPath+"/bos/upload",
  572. data:formdata,
  573. contentType: false,
  574. processData: false,
  575. success:function (data1) {
  576. if(data1.code==='1'){
  577. returnUrl = realPath+"/sys/workattachment/saveAttachment";
  578. $.ajax({
  579. type:'post',
  580. url:returnUrl,
  581. async:false,
  582. data:{
  583. "attachmentName":file['name'],
  584. "attachmentId":attachmentId,
  585. "attachmentFlag":attachmentFlag,
  586. "url":data1.url,
  587. "divIdType":divId
  588. },
  589. success:function(data){
  590. var lowerType = data.type.toLowerCase();
  591. // console.log('ajax requst : ' + data.status);
  592. //console.log('url : ' + data.url);
  593. if(data.status=="Success"){
  594. parent.layer.msg("上传成功!",{icon:1});
  595. var lenght =$(".trIdAdds").length;
  596. if (size != 0){
  597. lenght += size;
  598. }
  599. var addFile = "addFile"+divId;
  600. var str = '<tr class="trIdAdds">'+
  601. '<td class="text-center">' ;
  602. if(2 == fileLocation){
  603. $.ajax({
  604. type:"post",
  605. async:false,
  606. url:realPath+"/workfullmanage/workFullManage/getFileTemporaryLookUrl",
  607. data:{"file":data.url,},
  608. success:function(result){
  609. lookUrl = result.lookUrl;
  610. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  611. str = str +'<img src="'+lookUrl+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +lookUrl+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  612. }else if(isContains("pdf",lowerType)){
  613. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  614. }else {
  615. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+lookUrl+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  616. }
  617. }
  618. });
  619. }else{
  620. if (isContains("jpg,png,gif,bmp,jpeg",lowerType)){
  621. str = str +'<img src="'+data.url+'" width="50" height="50" onclick="openDialogView(\'预览\',\''+ '/a/sys/picturepreview/picturePreview?url=' +data.url+ '\',\'90%\',\'90%\')" alt="'+data.attachmentName+'"/>';
  622. }else if(isContains("pdf",lowerType)){
  623. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  624. }else {
  625. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  626. }
  627. }
  628. str = str +'</td>'+
  629. '<td >'+data.createByName+'</td>'+
  630. '<td >'+data.createDate+
  631. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  632. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  633. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data1.url+'"/>'+
  634. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  635. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  636. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  637. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  638. '<input name="workAttachments['+lenght+'].divIdType" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.divIdType+'"/>'+
  639. '</td>'+
  640. '<td class="op-td">'+
  641. '<div class="op-btn-box">' +
  642. '<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>'+
  643. //'<a href="'+data1.url+'" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>'+
  644. '<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>'+
  645. '</div>' +
  646. '</td>'+
  647. '</tr>';
  648. /!*console.log("file:"+divId);
  649. console.log("str="+str);*!/
  650. $("#file"+divId).append(str);
  651. $("#flagFile").val(true);
  652. var p = Math.floor(1*100);
  653. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  654. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  655. $("#baifenbi"+divId).html(p+"%");
  656. $("#fileName"+divId).html("上传进度:");
  657. }else {
  658. parent.layer.msg("上传失败!",{icon:2});
  659. }
  660. }
  661. })
  662. }else {
  663. parent.layer.msg("上传失败!",{icon:2});
  664. }
  665. }
  666. })
  667. };*/
  668. /*
  669. function multitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadPath,divId, size,cpt) {
  670. var names = storeAs.split("/");
  671. var name = names[names.length-1];
  672. ossClient.multipartUpload(storeAs, file,{
  673. partSize: 1 * 1024 * 1024,
  674. parallel: 5,
  675. progress: function* (percent, cpt) {
  676. console.log(cpt);
  677. console.log('Progress: ' + percent);
  678. var p = Math.floor(percent*100);
  679. $("#jindutiao"+divId).attr("style","width: "+p+"%");
  680. $("#jindutiao"+divId).attr("aria-valuenow",p+"%");
  681. $("#baifenbi"+divId).html(p+"%");
  682. $("#fileName"+divId).html(name);
  683. checkpoint_temp = cpt;
  684. }
  685. }).then(function (result) {
  686. console.log("uploadPath:"+uploadPath);
  687. console.log("rusult:"+result);
  688. console.log("end-------result:");
  689. returnUrl = realPath+"/a/sys/workattachment/saveAttachment";
  690. $.ajax({
  691. type:'post',
  692. url:returnUrl,
  693. data:{
  694. "attachmentName":file['name'],
  695. "attachmentId":attachmentId,
  696. "attachmentFlag":attachmentFlag,
  697. "url":uploadPath
  698. },
  699. success:function(data){
  700. console.log('ajax requst : ' + data.status);
  701. if(data.status=="Success"){
  702. parent.layer.msg("上传成功!",{icon:1});
  703. var lenght =$(".trIdAdds").length;
  704. if (size != 0){
  705. lenght += size;
  706. }
  707. var addFile = "addFile"+divId;
  708. var str = '<tr class="trIdAdds">'+
  709. '<td class="text-center">' ;
  710. if (isContains("jpg,png,gif,bmp,jpeg",data.type)){
  711. 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+'"/>';
  712. }else if(isContains("pdf",data.type)){
  713. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\',\'1\')">'+data.attachmentName+'</a>';
  714. }else {
  715. str = str + '<a class="attention-info" href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'90%\',\'90%\')">'+data.attachmentName+'</a>';
  716. }
  717. str = str +'</td>'+
  718. '<td >'+data.createByName+'</td>'+
  719. '<td >'+data.createDate+
  720. '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value=""/>'+
  721. '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
  722. '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.url+'"/>'+
  723. '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
  724. '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
  725. '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
  726. '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
  727. '</td>'+
  728. '<td class="op-td">'+
  729. '<div class="op-btn-box">' +
  730. '<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>'+
  731. '<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>'+
  732. '</div>' +
  733. '</td>'+
  734. '</tr>';
  735. console.log("file:"+divId);
  736. console.log("str="+str);
  737. $("#file"+divId).append(str);
  738. // $("img").not(".upload_ico").each(function () {
  739. // var num = 1 ;
  740. // $(this).live("click",function () {
  741. // var flag = num%2;
  742. // if(flag == 1){
  743. // $(this).css("width","90%");
  744. // $(this).css("height","90%");
  745. // num++;
  746. // }else if(flag ==0){
  747. // $(this).css("width","50px");
  748. // $(this).css("height","50px");
  749. // num++;
  750. // }
  751. // })
  752. // });
  753. }else {
  754. parent.layer.msg("上传失败!",{icon:2});
  755. }
  756. }
  757. })
  758. }).catch(function (err) {
  759. console.log("err------ err:");
  760. console.log(err);
  761. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath, size,checkpoint_temp);
  762. });
  763. };*/
  764. function isContains(str, substr) {
  765. return str.indexOf(substr) >= 0;
  766. }
  767. function deleteFileFromAliyun(obj,deleteUrl,addFile,divId){
  768. /*console.log("---------------------------------:");
  769. console.log(divId);
  770. console.log("---------------------------------");*/
  771. if (divId==null || divId== undefined || divId == ''){
  772. divId = "_attachment";
  773. }
  774. var fileDiv = divId.substr(1,divId.length)+"_file";
  775. /*console.log("---------------------------------:");
  776. console.log(fileDiv);
  777. console.log("---------------------------------");*/
  778. $("#"+fileDiv).val("");
  779. $.ajax({
  780. type:"post",
  781. url:deleteUrl,
  782. success:function(data){
  783. if(data.str){
  784. parent.layer.msg('删除成功',{icon:1});
  785. $(obj).parent().parent().parent().remove();
  786. $("#"+addFile).hide();
  787. }else {
  788. parent.layer.msg('删除失败',{icon:2});
  789. }
  790. }
  791. });
  792. }