上传图片插件之---uploadify

约定不等于承诺〃 2022-06-10 03:28 518阅读 0赞

有关uploadify的API:http://www.mamicode.com/info-detail-506696.html

这里主要介绍的是该上传图片前端代码编写,后台如何上传至资源服务器就没有介绍了,链接

该方法已经经过封装,在上传过程中,会显示进度条(这些都是可以设置的),上传成功之后,会显示一个缩略图,点击提交则会弹出所有图片在资源服务器的url,一边后续业务把该路径存储到数据库

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  3. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
  4. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  5. <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
  6. href="${pageContext.request.contextPath}/uploadify/main.css" rel="stylesheet">
  7. rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/uploadify/uploadify.css" />
  8. <script src="${pageContext.request.contextPath}/uploadify/jquery.min.js"></script>
  9. <script src="${pageContext.request.contextPath}/uploadify/jquery.uploadify-3.1.min.js"></script>
  10. <script src="${pageContext.request.contextPath}/uploadify/common_upload.js?v=20170806"></script>
  11. uploadify上传图片
  12. <script type="text/javascript">
  13. var ctx = "${pageContext.request.contextPath}";
  14. var index=0;
  15. </script>
  16. 订单附件 订单附件 x 支持jpg,gif,png,bmp格式图片
  17. $(function(){
  18. $("#imageUpload1").uploadify({
  19. //指定swf文件
  20. 'swf': ctx+'/uploadify/uploadify.swf',
  21. //后台处理的页面
  22. 'uploader': ctx+'/do/uploadControl/upload',
  23. //按钮显示的文字
  24. 'buttonText': '上传图片',
  25. //显示的高度和宽度,默认 height 30;width 120
  26. //'height': 15,
  27. //'width': 80,
  28. //上传文件的类型 默认为所有文件 'All Files' ; '*.*'
  29. //在浏览窗口底部的文件类型下拉菜单中显示的文本
  30. 'fileTypeDesc': 'Image Files',
  31. //设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据(后台方法接收参数名)
  32. 'fileObjName':'file',
  33. //允许上传的文件后缀
  34. 'fileTypeExts': '*.gif; *.jpg; *.png',
  35. //发送给后台的其他参数通过formData指定
  36. //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },
  37. //上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false 自动生成, 不带#
  38. //'queueID': 'fileQueue',
  39. //选择文件后自动上传
  40. 'auto': true,
  41. //设置为true将允许多文件上传
  42. 'multi': true,
  43. 'onUploadSuccess' : function(file, data, response){
  44. var resp = eval('(' + data + ')');
  45. var fileUrl=resp.fileUrl;
  46. index+=1;
  47. if(index> 1){
  48. $("#imageShow").append("x");
  49. }
  50. assignImageValue(fileUrl);
  51. }
  52. });
  53. });
  54. //检查已经上传商品图片个数
  55. function checkImages(){
  56. var imgObj = $("#imageShow").find("span img");
  57. if(imgObj.size()==5){
  58. alert("最多可上传5张商品图片");
  59. return false;
  60. }else{
  61. return true;
  62. }
  63. }
  64. //显示已上传图片
  65. function assignImageValue(fileUrl){
  66. var imgObj = $("#imageShow").find("span");
  67. imgObj.each(function(i){
  68. var img1 = $(this).find("img");
  69. if(img1.size()==0){
  70. $(this).attr("currentHtml",$(this).html());
  71. $(this).text("");
  72. //判断当前是第几个data-index图片
  73. var index = $(this).attr("data-index");
  74. $(this).append('x');
  75. return false;
  76. }else{
  77. return true;//进入下次循环
  78. }
  79. });
  80. }
  81. //删除页面图片
  82. function delImg(data){
  83. var currentHtml = $(data).parent().attr("currentHtml");
  84. var num = $(data).parent().attr("data-index");
  85. $(data).parent().empty();
  86. var lng=$("#imageShow").find("span").length;
  87. if(index>1){
  88. $("#imageShow").find("span[data-index='"+num+"']").remove();
  89. }
  90. index=index-1;
  91. }
  92. //编辑后提交
  93. function confimOrderAudit(){
  94. var mainPicUrls="";
  95. $("input[id='mainPicUrl']").each(function(i) {
  96. mainPicUrls+=$(this).val()+",";
  97. });
  98. alert(mainPicUrls)
  99. }
  100. package com.cn.control.upload;
  101. import java.io.IOException;
  102. import javax.servlet.http.HttpServletRequest;
  103. import javax.servlet.http.HttpServletResponse;
  104. import org.springframework.beans.factory.annotation.Autowired;
  105. import org.springframework.stereotype.Controller;
  106. import org.springframework.web.bind.annotation.RequestMapping;
  107. import org.springframework.web.bind.annotation.RequestParam;
  108. import org.springframework.web.multipart.MultipartFile;
  109. import com.cn.service.upload.UploadService;
  110. /** * @author feifz:
  111. * @date :2017年8月9日 上午10:08:35
  112. * @return
  113. * @desc
  114. */
  115. @Controller
  116. @RequestMapping("uploadControl")
  117. public class UploadControl {
  118. @Autowired
  119. private UploadService uploadService;
  120. @RequestMapping("/upload")
  121. public void upload(HttpServletRequest request ,HttpServletResponse response,@RequestParam(value = "file", required = false) MultipartFile file) throws IOException{
  122. uploadService.uploadPic(request, response, file);
  123. }
  124. }
  125. package com.cn.service.upload;
  126. import java.io.IOException;
  127. import javax.servlet.http.HttpServletRequest;
  128. import javax.servlet.http.HttpServletResponse;
  129. import org.json.simple.JSONObject;
  130. import org.springframework.stereotype.Service;
  131. import org.springframework.web.multipart.MultipartFile;
  132. import com.cn.util.SystemConstants;
  133. import com.cn.util.UploadAction;
  134. import com.cn.util.WebUploadFile;
  135. /** * @author feifz:
  136. * @date :2017年8月9日 上午10:10:49
  137. * @return
  138. * @desc
  139. */
  140. @Service
  141. public class UploadService {
  142. /**
  143. * 上传图片
  144. * @param request
  145. * @param response
  146. * @param file
  147. * @throws IOException
  148. */
  149. public void uploadPic(HttpServletRequest request ,HttpServletResponse response,MultipartFile file) throws IOException{
  150. String filePath = "";//用来保存上传图片之后的路径 各路径间用逗号隔开
  151. //下面这个方法为上传图片到资源服务器处理逻辑,输入图片,输出该图片上传至资源服务器的url
  152. WebUploadFile webUploadFile = UploadAction.uploadSFTP(request, file);
  153. filePath = filePath+webUploadFile.getFilePath();
  154. JSONObject obj = new JSONObject();
  155. obj.put("error", 0);
  156. obj.put("fileUrl", SystemConstants.SFTP_httpUploadBaseUrl+filePath);
  157. response.getWriter().print(obj.toJSONString());
  158. }
  159. }

![Image 1][]Center

Center 1

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,518人围观)

还没有评论,来说两句吧...

相关阅读