上传图片插件之---uploadify

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

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

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

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>




   
   
     href="${pageContext.request.contextPath}/uploadify/main.css" rel="stylesheet">
     rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/uploadify/uploadify.css"  />
	<script src="${pageContext.request.contextPath}/uploadify/jquery.min.js"></script>
	<script src="${pageContext.request.contextPath}/uploadify/jquery.uploadify-3.1.min.js"></script>
	<script src="${pageContext.request.contextPath}/uploadify/common_upload.js?v=20170806"></script>
uploadify上传图片
	
	<script type="text/javascript">
  	var ctx = "${pageContext.request.contextPath}";
  	var index=0;
	</script>


	
   
   
订单附件
订单附件
x






支持jpg,gif,png,bmp格式图片

	$(function(){
		
		$("#imageUpload1").uploadify({
            //指定swf文件
            'swf': ctx+'/uploadify/uploadify.swf',
            //后台处理的页面
            'uploader': ctx+'/do/uploadControl/upload',
            //按钮显示的文字
            'buttonText': '上传图片',
            //显示的高度和宽度,默认 height 30;width 120
            //'height': 15,
            //'width': 80,
            //上传文件的类型  默认为所有文件    'All Files'  ;  '*.*'
            //在浏览窗口底部的文件类型下拉菜单中显示的文本
            'fileTypeDesc': 'Image Files',
            //设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据(后台方法接收参数名)
            'fileObjName':'file',
            //允许上传的文件后缀
            'fileTypeExts': '*.gif; *.jpg; *.png',
            //发送给后台的其他参数通过formData指定
            //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },
            //上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false  自动生成,  不带#
            //'queueID': 'fileQueue',
            //选择文件后自动上传
            'auto': true,
            //设置为true将允许多文件上传
            'multi': true,
            'onUploadSuccess' : function(file, data, response){
            	var resp = eval('(' + data + ')');
            	var fileUrl=resp.fileUrl;
            	index+=1;
            	if(index> 1){
            		$("#imageShow").append("x");
            	}
            	assignImageValue(fileUrl);
            }
        });
	});
	

//检查已经上传商品图片个数
 function checkImages(){
 	var imgObj = $("#imageShow").find("span img");
 	if(imgObj.size()==5){
 		alert("最多可上传5张商品图片");
 		return false;
 	}else{
 		return true;
 	}
 }
 //显示已上传图片
 function assignImageValue(fileUrl){
 	var imgObj = $("#imageShow").find("span");
 	imgObj.each(function(i){
 		var img1 = $(this).find("img");
 		if(img1.size()==0){
 			$(this).attr("currentHtml",$(this).html());
 			$(this).text("");
 			
 			//判断当前是第几个data-index图片
 			var index = $(this).attr("data-index");
 				$(this).append('x');
 			return false;
 		}else{
 			return true;//进入下次循环
 		}
 	});
 }
 
 //删除页面图片
 function delImg(data){
 	var currentHtml = $(data).parent().attr("currentHtml");
 	var num = $(data).parent().attr("data-index");
 	$(data).parent().empty();
 	var lng=$("#imageShow").find("span").length;
 	if(index>1){
 	 	$("#imageShow").find("span[data-index='"+num+"']").remove();

 	}
 	index=index-1;
 }
 
//编辑后提交
	function confimOrderAudit(){
		var mainPicUrls="";
		$("input[id='mainPicUrl']").each(function(i) {
			mainPicUrls+=$(this).val()+",";
		});
		alert(mainPicUrls)
		}
 

package com.cn.control.upload;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.cn.service.upload.UploadService;

/** * @author  feifz: 
    * @date :2017年8月9日 上午10:08:35 
    * @return  
	* @desc
    */
@Controller
@RequestMapping("uploadControl")
public class UploadControl {
	@Autowired
	private UploadService uploadService;
	
	@RequestMapping("/upload")
	public void upload(HttpServletRequest request ,HttpServletResponse response,@RequestParam(value = "file", required = false) MultipartFile file) throws IOException{
		uploadService.uploadPic(request, response, file);
	}
}


package com.cn.service.upload;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.simple.JSONObject;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import com.cn.util.SystemConstants;
import com.cn.util.UploadAction;
import com.cn.util.WebUploadFile;

/** * @author  feifz: 
    * @date :2017年8月9日 上午10:10:49 
    * @return  
	* @desc
    */
@Service
public class UploadService {
	/**
	 * 上传图片
	 * @param request
	 * @param response
	 * @param file
	 * @throws IOException 
	 */
	public void uploadPic(HttpServletRequest request ,HttpServletResponse response,MultipartFile file) throws IOException{
		String filePath = "";//用来保存上传图片之后的路径 各路径间用逗号隔开
		//下面这个方法为上传图片到资源服务器处理逻辑,输入图片,输出该图片上传至资源服务器的url
		WebUploadFile webUploadFile = UploadAction.uploadSFTP(request, file);
		filePath = filePath+webUploadFile.getFilePath();
		JSONObject obj = new JSONObject();
		obj.put("error", 0);
		obj.put("fileUrl", SystemConstants.SFTP_httpUploadBaseUrl+filePath);
        response.getWriter().print(obj.toJSONString());
	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值