1. 程式人生 > >SpringMVC+easyUI實現上傳圖片功能小例子

SpringMVC+easyUI實現上傳圖片功能小例子

jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
       <script type="text/javascript" src="${pageContext.request.contextPath}/resource/js/jquery-form.js"></script>   
       <script type="text/javascript" src="${pageContext.request.contextPath}/resource/js/jquery-1.8.2.min.js"></script>   
	   <script src="${pageContext.request.contextPath}/resource/jquery-easyui-1.4.5/jquery.easyui.min.js"type="text/javascript"></script>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>上傳圖片</title>
    </head>
    <body>
    <!--  文字框中onclick時間問題,只要把<script>放在前面就行  -->
		<script type="text/javascript">
		 	function uploadPic(){
		 		if($("#file").val()==""){
		 			$.messager.alert("提示","請選擇資料夾");
		 			return false;
		 		}
 				 $("#p").ajaxSubmit({  
	                type:"post",  //提交方式  
	                url:"${pageContext.request.contextPath}/student/filesUpload", //請求url  
	                success:function(data){ //提交成功的回撥函式  
	                	$.messager.alert("提示",data);
	                }  
	            });  
			}
		 </script>
        <form  id="p" method="POST" enctype="multipart/form-data"accept="image/gif, image/jpeg,image/jpg, image/png"> 
	        <div style="width: 100%;height: 100%">
	        	<div style="text-align: center;margin-top: 20px">
	        	    上傳的檔案: <input  id="file" type="file" name="myfiles"/><br/> 
	           	 	<input type="button" value="確定" onclick="uploadPic()" style="margin-top: 10px">
	           	 </div>
	        </div>
        </form> 
    </body>
</html>
contorller層:
/***
     * 儲存檔案
     *
     * @param file
     * @return
     */
    private boolean saveFile(HttpServletRequest request, MultipartFile file) {
        // 判斷檔案是否為空
        if (!file.isEmpty()) {
            try {
                // 儲存的檔案路徑(如果用的是Tomcat伺服器,檔案會上傳到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\資料夾中  )
                String filePath = request.getSession().getServletContext()
                    .getRealPath("/") + "upload/" + file.getOriginalFilename();
                System.err.println(filePath);
                File saveDir = new File(filePath);
                if (!saveDir.getParentFile().exists())
                    saveDir.getParentFile().mkdirs();
                 System.err.println(filePath);
                // 轉存檔案
                file.transferTo(saveDir);
                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return false;
    }
 
    /**
     * 上傳圖片
     *
     * @param files
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping("/filesUpload")
    public String filesUpload(@RequestParam("myfiles") MultipartFile[] files, HttpServletRequest request) {
    	String result =OperatorEnum.OperatorFailure.getName();
        if (files != null && files.length > 0) {
            for (int i = 0; i < files.length; i++) {
                MultipartFile file = files[i];
                // 儲存檔案
                boolean a = saveFile(request, file);
                if(a){
                	result = OperatorEnum.OperatorSuccess.getName();
                }
            }
        }
        // 重定向
        return result;
    }


效果圖: