uploadimg.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. <div id="tab-img" class="HuiTab">
  2. <div class="tabBar clearfix">
  3. <span>本地上传</span>
  4. <span>网络文件上传</span>
  5. <span>服务器图片选择</span>
  6. <input type="hidden" name="layer" id="layer" value="{$layer}">
  7. <input type="hidden" name="infoid" value={$infoid}>
  8. <input type="hidden" name="cjid" value={$cjid}>
  9. </div>
  10. <!-- 本地上传 -->
  11. <div class="tabCon">
  12. <div class="step1 active" style="margin-left:30px;">
  13. <form id="form-uploadimg" method="post" action="" enctype="multipart/form-data">
  14. <div class="row cl" style="margin-top:20px;">
  15. <label class="form-label col-xs-2 col-sm-2"><span class="c-red">*</span>图片要求: </label>
  16. <div class="formControls col-xs-8 col-sm-8">
  17. 格式 jpg,png,gif,jpeg,webp; 大小不超过4M.
  18. </div>
  19. <div class="col-3"> </div>
  20. </div>
  21. <div class="row cl" style="margin-top:20px;">
  22. <label class="form-label col-xs-2 col-sm-2">
  23. <span class="c-red">*</span>本地上传:</label>
  24. <div class="formControls col-xs-8 col-sm-8">
  25. <input type="file" class="input-text" name="upload_file" id="upload_file">
  26. </div>
  27. <div class="col-3"> </div>
  28. </div>
  29. <div class="row cl" style="margin-top:20px;">
  30. <input type="hidden" name="img_id" value={$img_id}>
  31. <input type="hidden" name="infoid" value={$infoid}>
  32. <input type="hidden" name="cjid" value={$cjid}>
  33. <div class="formControls col-sm-12">
  34. <div class="skin-minimal">
  35. <div class="check-box">
  36. <input type="checkbox" name="thumb" value="true" {$thumb ? 'checked' : "" }>
  37. <label for="thumb-1">缩略图</label>
  38. <input type="text" class="input-text" name="width" value={$width}
  39. style="width: 80px;">缩略图宽度
  40. <input type="text" class="input-text" name="height" value={$height}
  41. style="width: 80px;">缩略图高度
  42. <input type="checkbox" name="original" value="true" {$original ? 'checked' : "" } style="margin-left: 20px;">
  43. <label for="overwrite">保留原图</label>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="row cl" style="margin-top:30px;margin-left:30px;">
  49. <div class="col-xs-6 col-sm-5 col-xs-offset-2 col-sm-offset-2">
  50. <input class="btn btn-primary radius" type="button" value="&nbsp;确&nbsp;定&nbsp;"
  51. onCLick="uploadLocalImg();">
  52. <input class="btn btn-default radius" type="button" value="&nbsp;取&nbsp;消&nbsp;"
  53. onClick="layer_close();">
  54. </div>
  55. </div>
  56. </form>
  57. </div>
  58. <!-- 本地上传end -->
  59. </div>
  60. <!-- 网络图片 -->
  61. <div class="tabCon">
  62. <form id="form-uploadurlimg" method="post" action="" enctype="multipart/form-data">
  63. <div class="row cl" style="margin-top:20px;">
  64. <label class="form-label col-xs-2 col-sm-2"><span class="c-red">*</span>图片要求: </label>
  65. <div class="formControls col-xs-8 col-sm-8">
  66. 格式 jpg,png,gif,jpeg,webp; 大小不超过4M.
  67. </div>
  68. <div class="col-3"> </div>
  69. </div>
  70. <div class="row cl" style="margin-top:20px;">
  71. <label class="form-label col-xs-2 col-sm-2">
  72. <span class="c-red">*</span>图片地址:</label>
  73. <div class="formControls col-xs-8 col-sm-8">
  74. <input type="text" class="input-text" name="url_file" id="url_file">
  75. </div>
  76. <div class="col-3"> </div>
  77. </div>
  78. <div class="row cl" style="margin-top:20px;">
  79. <input type="hidden" name="img_id" value={$img_id}>
  80. <div class="formControls col-xs-12 col-sm-12">
  81. <div class="skin-minimal">
  82. <div class="check-box">
  83. <input type="checkbox" name="thumb" value="{$thumb}" {$thumb ? 'checked' : "" }>
  84. <label for="thumb-1">缩略图</label>
  85. <input type="text" class="input-text" name="width" value={$width} style="width: 80px;">缩略图宽度
  86. <input type="text" class="input-text" name="height" value={$height}
  87. style="width: 80px;">缩略图高度
  88. <input type="checkbox" name="original" value="{$original}" {$original ? 'checked' : "" } style="margin-left: 20px;">
  89. <label for="overwrite">保留原图</label>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. <div class="row cl" style="margin-top:30px;margin-left:30px;">
  95. <div class="col-xs-6 col-sm-5 col-xs-offset-2 col-sm-offset-2">
  96. <input class="btn btn-primary radius" type="button" value="&nbsp;确&nbsp;定&nbsp;"
  97. onCLick="uploadUrlImg()">
  98. <input class="btn btn-default radius" type="button" value="&nbsp;取&nbsp;消&nbsp;"
  99. onClick="layer_close();">
  100. </div>
  101. </div>
  102. </form>
  103. </div>
  104. <!-- 在线图片 -->
  105. <style>
  106. a.active-btn {
  107. color: #fff;
  108. background-color: #3bb4f2;
  109. border-color: #3bb4f2;
  110. }
  111. </style>
  112. <div class="tabCon">
  113. <a class="btn radius active-btn" id="database_picture"><i class="Hui-iconfont Hui-iconfont-jifen"></i>数据库模式</a>
  114. <a class="btn radius" id="directory_picture"><i class="Hui-iconfont Hui-iconfont-pages"></i> 目录模式</a>
  115. <div class="database online-picture">
  116. {include file="file_manager/database_picture" /}
  117. </div>
  118. <div class="directory online-picture" style="display: none;">
  119. {include file="file_manager/directory_picture" /}
  120. </div>
  121. <form id="form-uploadonlineimg" method="post" action="" enctype="multipart/form-data">
  122. <div class="row cl" style="margin-top:20px;">
  123. <label class="form-label col-xs-2 col-sm-2">
  124. <span class="c-red">*</span>图片地址:</label>
  125. <div class="formControls col-xs-8 col-sm-8">
  126. <input type="hidden" name="img_id" value={$img_id}>
  127. <input type="text" class="input-text" name="online_file" id="online_file">
  128. </div>
  129. <div class="col-3"> </div>
  130. </div>
  131. <div class="row cl" style="margin-top:30px;margin-left:30px;">
  132. <div class="col-xs-6 col-sm-5 col-xs-offset-2 col-sm-offset-2">
  133. <input class="btn btn-primary radius" type="button" value="&nbsp;确&nbsp;定&nbsp;"
  134. onCLick="uploadOnlineImg()">
  135. <input class="btn btn-default radius" type="button" value="&nbsp;取&nbsp;消&nbsp;"
  136. onClick="layer_close();">
  137. </div>
  138. </div>
  139. </form>
  140. </div>
  141. </div>
  142. <!--请在下方写此页面业务相关的脚本-->
  143. <script type="text/javascript">
  144. jQuery.Huitab = function (tabBar, tabCon, class_name, tabEvent, i) {
  145. var $tab_menu = $(tabBar);
  146. // 初始化操作
  147. $tab_menu.removeClass(class_name);
  148. $(tabBar).eq(i).addClass(class_name);
  149. $(tabCon).hide();
  150. $(tabCon).eq(i).show();
  151. $tab_menu.bind(tabEvent, function () {
  152. $tab_menu.removeClass(class_name);
  153. $(this).addClass(class_name);
  154. var index = $tab_menu.index(this);
  155. $(tabCon).hide();
  156. $(tabCon).eq(index).show()
  157. })
  158. }
  159. $(function () {
  160. $.Huitab("#tab-img .tabBar span", "#tab-img .tabCon", "current", "click", "0");
  161. $("#database_picture").click(function () {
  162. $(".online-picture").css('display', 'none');
  163. $(".database").css('display', 'block');
  164. $(this).addClass('active-btn');
  165. $('#directory_picture').removeClass('active-btn');
  166. });
  167. $("#directory_picture").click(function () {
  168. $(".online-picture").css('display', 'none');
  169. $(".directory").css('display', 'block');
  170. $(this).addClass('active-btn');
  171. $('#database_picture').removeClass('active-btn');
  172. });
  173. });
  174. // 本地上传图片
  175. function uploadLocalImg() {
  176. var layer = $("#layer").val();
  177. if ($("#upload_file").val() == '') {
  178. layer.msg("请选择要上传的文件", {
  179. icon: 6,
  180. time: 1000
  181. });
  182. return false;
  183. } else {
  184. var formData = new FormData($("#form-uploadimg")[0]);
  185. $.ajax({
  186. url: '{:url("file_manager/uploadLocalImg")}',
  187. type: 'POST',
  188. async: true,
  189. cache: false,
  190. data: formData,
  191. processData: false,
  192. contentType: false,
  193. dataType: "json",
  194. beforeSend: function () {
  195. // loadIndex = layer.load();
  196. },
  197. success: function (res) {
  198. if (res.code == 0) {
  199. // layer.close(loadIndex);
  200. if (layer == true) {
  201. var img = res.thumb ? res.thumb : res.picname;
  202. window.parent.$("#" + res.img_id).val(img);
  203. window.parent.$("#view-" + res.img_id).attr('src', img);
  204. layer_close();
  205. } else {
  206. layer.msg('上传成功', {
  207. icon: 1,
  208. time: 1000
  209. }, () => {
  210. window.location.reload();
  211. });
  212. }
  213. } else {
  214. // layer.close(loadIndex);
  215. layer.msg(res.msg, {
  216. icon: 5,
  217. time: 1000
  218. });
  219. return false;
  220. }
  221. }
  222. });
  223. }
  224. }
  225. // 网络图片
  226. function uploadUrlImg() {
  227. var layer = $("#layer").val();
  228. if ($("#url_file").val() == '') {
  229. layer.msg("文件地址不可以为空", {
  230. icon: 6,
  231. time: 1000
  232. });
  233. return false;
  234. } else {
  235. var formData = new FormData($("#form-uploadurlimg")[0]);
  236. $.ajax({
  237. url: '{:url("file_manager/uploadUrlImg")}',
  238. type: 'POST',
  239. async: true,
  240. cache: false,
  241. data: formData,
  242. processData: false,
  243. contentType: false,
  244. dataType: "json",
  245. beforeSend: function () {
  246. // loadIndex = layer.load();
  247. },
  248. success: function (res) {
  249. if (res.code == 0) {
  250. console.log(layer);
  251. // layer.close(loadIndex);
  252. if (layer == true) {
  253. var img = res.picname;
  254. window.parent.$("#" + res.img_id).val(img);
  255. if (res.thumbname) {
  256. img = res.thumbname;
  257. window.parent.$("#thumb").val(img);
  258. }
  259. window.parent.$("#view-" + res.img_id).attr('src', img);
  260. layer_close();
  261. } else {
  262. window.location.reload();
  263. }
  264. } else {
  265. // layer.close(loadIndex);
  266. layer.msg(res.msg, {
  267. icon: 5,
  268. time: 1000
  269. });
  270. return false;
  271. }
  272. }
  273. });
  274. }
  275. }
  276. function uploadOnlineImg() {
  277. var layer = $("#layer").val();
  278. if ($("#online_file").val() == '') {
  279. layer.msg("文件地址不可以为空", {
  280. icon: 6,
  281. time: 1000
  282. });
  283. return false;
  284. } else {
  285. var formData = new FormData($("#form-uploadonlineimg")[0]);
  286. $.ajax({
  287. url: '{:url("file_manager/uploadOnlineImg")}',
  288. type: 'POST',
  289. async: true,
  290. cache: false,
  291. data: formData,
  292. processData: false,
  293. contentType: false,
  294. dataType: "json",
  295. beforeSend: function () {
  296. // loadIndex = layer.load();
  297. },
  298. success: function (res) {
  299. // layer.close(loadIndex);
  300. if (res.code == 0) {
  301. if (layer == true) {
  302. var img = res.picname;
  303. window.parent.$("#" + res.img_id).val(img);
  304. if (res.thumbname) {
  305. img = res.thumbname;
  306. window.parent.$("#thumb").val(img);
  307. }
  308. window.parent.$("#view-" + res.img_id).attr('src', img);
  309. layer_close();
  310. } else {
  311. layer.msg('上传成功', {
  312. icon: 1,
  313. time: 1000
  314. }, () => {
  315. window.location.reload();
  316. });
  317. }
  318. } else {
  319. layer.msg(res.msg, {
  320. icon: 5,
  321. time: 1000
  322. });
  323. return false;
  324. }
  325. }
  326. });
  327. }
  328. }
  329. </script>
  330. <!--请在上方写此页面业务相关的脚本-->