index.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>图片预览图</title>
  5. <link rel="stylesheet" href="css/viewer.min.css">
  6. <link rel="stylesheet" href="css/loading.css">
  7. <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
  8. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.css" />
  9. <style type="text/css">
  10. </style>
  11. </head>
  12. <body>
  13. <h1>文件预览项目接入和测试界面</h1>
  14. <div class="panel-group" id="accordion">
  15. <div class="panel panel-default">
  16. <div class="panel-heading">
  17. <h4 class="panel-title">
  18. <a data-toggle="collapse" data-parent="#accordion"
  19. href="#collapseOne">
  20. 接入说明
  21. </a>
  22. </h4>
  23. </div>
  24. <div id="collapseOne" class="panel-collapse collapse in">
  25. <div class="panel-body">
  26. <div>
  27. 如果你的项目需要接入文件预览项目,达到对docx、excel、ppt、jpg等文件的预览效果,那么通过在你的项目中加入下面的代码就可以
  28. 成功实现:
  29. <pre style="background-color: #2f332a;color: #cccccc">
  30. $scope.openWin = function (fileUrl) {
  31. var url = configuration.previewUrl + encodeURIComponent(fileUrl);
  32. var winHeight = window.document.documentElement.clientHeight-10;
  33. $window.open(url, "_blank", "height=" + winHeight
  34. + ",top=80,left=80,toolbar=no, menubar=no, scrollbars=yes, resizable=yes");
  35. };
  36. </pre>
  37. <b>说明:</b>
  38. <p>1.这里的fileUrl即是需要预览的服务器文件,一般是ufile文件</p>
  39. <p>2.只所以使用encodeURIComponent转码是因为ufile文件中可能会存在&等特殊字符,那么如果不转码会被浏览器处理成多参数
  40. 这样后台获取的就不是需要预览的文件的全路径了。</p>
  41. <p>3.configuration.previewUrl是需要接入项目中配置文件预览项目的地址的配置
  42. 现在开发和测试地址都是:
  43. http://106.75.31.215:8012/onlinePreview?url=服务器(ufile)文件路径</p>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="panel panel-default">
  49. <div class="panel-heading">
  50. <h4 class="panel-title">
  51. <a data-toggle="collapse" data-parent="#accordion"
  52. href="#collapseTwo">
  53. 预览测试
  54. </a>
  55. </h4>
  56. </div>
  57. <div id="collapseTwo" class="panel-collapse collapse">
  58. <div class="panel-body">
  59. <p style="color: red;">因为是测试所以一种文件只允许上传一个</p>
  60. <div style="padding: 10px">
  61. <form enctype="multipart/form-data" id="fileUpload">
  62. <input type="file" name="file" />
  63. <input type="button" id="btnsubmit" value=" 上 传 " />
  64. </form>
  65. </div>
  66. <div>
  67. <table id="table" data-pagination="true"></table>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. <div class="loading_container">
  74. <div class="spinner">
  75. <div class="spinner-container container1">
  76. <div class="circle1"></div>
  77. <div class="circle2"></div>
  78. <div class="circle3"></div>
  79. <div class="circle4"></div>
  80. </div>
  81. <div class="spinner-container container2">
  82. <div class="circle1"></div>
  83. <div class="circle2"></div>
  84. <div class="circle3"></div>
  85. <div class="circle4"></div>
  86. </div>
  87. <div class="spinner-container container3">
  88. <div class="circle1"></div>
  89. <div class="circle2"></div>
  90. <div class="circle3"></div>
  91. <div class="circle4"></div>
  92. </div>
  93. </div>
  94. </div>
  95. <script type="text/javascript" src="config.js"></script>
  96. <script src="js/jquery-3.0.0.min.js" type="text/javascript"></script>
  97. <script src="https://cdn.bootcss.com/jquery.form/3.09/jquery.form.min.js" type="text/javascript"></script>
  98. <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  99. <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.js"></script>
  100. <script>
  101. function deleteFile(fileName) {
  102. $.ajax({
  103. url: env_config.server_delete_url + encodeURIComponent(fileName),
  104. success: function (data) {
  105. // 删除完成,刷新table
  106. if (1 == data.code) {
  107. alert(data.msg);
  108. }else{
  109. $('#table').bootstrapTable('refresh', {});
  110. }
  111. },
  112. error: function (data) {
  113. console.log(data);
  114. }
  115. })
  116. }
  117. $(function () {
  118. $('#table').bootstrapTable({
  119. url: 'listFiles',
  120. columns: [{
  121. field: 'fileName',
  122. title: '文件名'
  123. }, {
  124. field: 'action',
  125. title: '操作'
  126. },]
  127. }).on('pre-body.bs.table', function (e,data) {
  128. // 每个data添加一列用来操作
  129. $(data).each(function (index, item) {
  130. item.action = "<a class='btn btn-default' target='_blank' href='"+env_config.server_preview_url
  131. + encodeURIComponent(env_config.server_base_url + item.fileName ) +"&needEncode=1'>预览</a>" +
  132. "<a class='btn btn-default' target='_blank' href='javascript:void(0);' onclick='deleteFile(\""+item.fileName+"\")'>删除</a>";
  133. });
  134. return data;
  135. }).on('post-body.bs.table', function (e,data) {
  136. return data;
  137. });
  138. /**
  139. *
  140. */
  141. function showLoadingDiv() {
  142. var height = window.document.documentElement.clientHeight - 1;
  143. $(".loading_container").css("height", height).show();
  144. }
  145. $("#btnsubmit").click(function () {
  146. showLoadingDiv();
  147. $("#fileUpload").ajaxSubmit({
  148. success: function (data) {
  149. // 上传完成,刷新table
  150. if (1 == data.code) {
  151. alert(data.msg);
  152. }else{
  153. $('#table').bootstrapTable('refresh', {});
  154. }
  155. $(".loading_container").hide();
  156. },
  157. error: function (error) { alert(error); $(".loading_container").hide();},
  158. url: 'fileUpload', /*设置post提交到的页面*/
  159. type: "post", /*设置表单以post方法提交*/
  160. dataType: "json" /*设置返回值类型为文本*/
  161. });
  162. });
  163. });
  164. </script>
  165. </body>
  166. </html>