_upload.jsp 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <%@page contentType="text/html;charset=UTF-8"%>
  2. <div>
  3. <div id="uploadFileButton" class="btn btn-primary fileinput-button">
  4. <span>上传文件</span>
  5. <input type="file" name="file" class="fileupload" data-no-uniform="true" data-url="disk-info-upload.do" data-form-data='{"path":"${path}"}'>
  6. </div>
  7. <button id="createDirButton" class="btn btn-default" data-toggle="modal" data-target="#createDirDialog">新建文件夹</button>
  8. <div class="btn-group pull-right" role="group" aria-label="" data-toggle="buttons">
  9. <label class="btn btn-default glyphicon glyphicon-th-list ${listType == 'list' ? 'active' : ''}" onclick="location.href='disk-info-list.do?path=${path}'">
  10. <input type="radio" name="options" id="option1" autocomplete="off" checked>
  11. </label>
  12. <label class="btn btn-default glyphicon glyphicon-th-large ${listType == 'grid' ? 'active' : ''}" onclick="location.href='disk-info-grid.do?path=${path}'">
  13. <input type="radio" name="options" id="option2" autocomplete="off">
  14. </label>
  15. </div>
  16. </div>
  17. <br>
  18. <c:if test="${path != ''}">
  19. <ol class="breadcrumb">
  20. <li><a href="disk-info-parentDir.do?path=${path}">返回上一级</a></li>
  21. <%
  22. String path = (String) request.getAttribute("path");
  23. String currentPath = "";
  24. String[] array = path.split("/");
  25. for (int i = 0; i < array.length; i++) {
  26. String item = array[i];
  27. if (i != 0) {
  28. currentPath += "/" + item;
  29. }
  30. pageContext.setAttribute("item", item);
  31. pageContext.setAttribute("currentPath", currentPath);
  32. %>
  33. <li><a href="?path=${currentPath}">${item == '' ? '根目录' : item}</a></li>
  34. <%
  35. }
  36. %>
  37. </ol>
  38. </c:if>
  39. <div id="uploadFileProgress" class="modal fade" data-backdrop="static">
  40. <div class="modal-dialog">
  41. <div class="modal-content">
  42. <div class="modal-header">
  43. <h4 class="modal-title">上传文件</h4>
  44. </div>
  45. <div class="modal-body">
  46. <div class="progress">
  47. <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 0%;">
  48. <span class="sr-only">0%</span>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="modal-footer">
  53. <button id="uploadFileCancelButton" type="button" class="btn btn-default" data-dismiss="modal" onclick="location.reload()">取消</button>
  54. <button id="uploadFileConfirmButton" type="button" class="btn btn-primary" onclick="location.reload()">确认</button>
  55. </div>
  56. </div><!-- /.modal-content -->
  57. </div><!-- /.modal-dialog -->
  58. </div><!-- /.modal -->
  59. <div id="createDirDialog" class="modal fade">
  60. <div class="modal-dialog">
  61. <div class="modal-content">
  62. <form action="disk-info-createDir.do" method="post">
  63. <input type="hidden" name="path" value="${path}">
  64. <div class="modal-header">
  65. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  66. <h4 class="modal-title">创建目录</h4>
  67. </div>
  68. <div class="modal-body">
  69. <input type="text" class="form-control" id="dirName" placeholder="目录名" name="name">
  70. </div>
  71. <div class="modal-footer">
  72. <button id="uploadFileCancelButton" type="button" class="btn btn-default" data-dismiss="modal">取消</button>
  73. <button id="uploadFileConfirmButton" type="submit" class="btn btn-primary">保存</button>
  74. </div>
  75. </form>
  76. </div><!-- /.modal-content -->
  77. </div><!-- /.modal-dialog -->
  78. </div><!-- /.modal -->
  79. <div id="createDirDialog" class="modal fade">
  80. <div class="modal-dialog">
  81. <div class="modal-content">
  82. <form action="disk-info-createDir.do" method="post">
  83. <input type="hidden" name="path" value="${path}">
  84. <div class="modal-header">
  85. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  86. <h4 class="modal-title">创建目录</h4>
  87. </div>
  88. <div class="modal-body">
  89. <input type="text" class="form-control" id="dirName" placeholder="目录名" name="name">
  90. </div>
  91. <div class="modal-footer">
  92. <button id="uploadFileCancelButton" type="button" class="btn btn-default" data-dismiss="modal">取消</button>
  93. <button id="uploadFileConfirmButton" type="submit" class="btn btn-primary">保存</button>
  94. </div>
  95. </form>
  96. </div><!-- /.modal-content -->
  97. </div><!-- /.modal-dialog -->
  98. </div><!-- /.modal -->
  99. <link rel="stylesheet" href="${ctx}/s/jquery-file-upload/css/jquery.fileupload.css">
  100. <script src="${ctx}/s/jquery-file-upload/js/vendor/jquery.ui.widget.js"></script>
  101. <script src="${ctx}/s/jquery-file-upload/js/jquery.iframe-transport.js"></script>
  102. <script src="${ctx}/s/jquery-file-upload/js/jquery.fileupload.js"></script>
  103. <script type="text/javascript">
  104. function generateFileupload(maxLimitedSize) {
  105. $('.fileupload').fileupload({
  106. dataType: 'json',
  107. add: function (e, data) {
  108. var file = data.files[0];
  109. if (file.size > maxLimitedSize) {
  110. alert("图片过大");
  111. } else {
  112. data.submit();
  113. }
  114. },
  115. submit: function (e, data) {
  116. var $this = $(this);
  117. data.jqXHR = $this.fileupload('send', data);
  118. $('.progress-bar').css(
  119. 'width',
  120. '0%'
  121. ).html('0%');
  122. $('#uploadFileConfirmButton').hide();
  123. $('#uploadFileProgress').modal('show');
  124. return false;
  125. },
  126. done: function (e, data) {
  127. $('#uploadFileConfirmButton').show();
  128. // location.reload();
  129. },
  130. fail: function (e, data) {
  131. alert("上传失败");
  132. },
  133. progressall: function (e, data) {
  134. var progress = parseInt(data.loaded / data.total * 100, 10);
  135. $('.progress-bar').css(
  136. 'width',
  137. progress + '%'
  138. ).html(progress + '%');
  139. }
  140. });
  141. }
  142. $(function () {
  143. generateFileupload(1024 * 1024 * 1024);
  144. });
  145. </script>