SpringMVC 4:文件上傳和校驗

文件上傳,配置文件上傳解析器
Xml代碼  
<!-- 文件上傳解析器  上傳最大尺寸:10M(10485760)、id名稱必須爲:multipartResolver -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <property name="maxUploadSize" value="10485760"/>  
    </bean>  
<!-- 文件上傳解析器  上傳最大尺寸:10M(10485760)、id名稱必須爲:multipartResolver -->
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="maxUploadSize" value="10485760"/>
	</bean>
配置靜態資源
Xml代碼  
<mvc:resources location="/upload/" mapping="/upload/**"/>  
<mvc:resources location="/upload/" mapping="/upload/**"/>
 controller
Java代碼  
public String saveOrUpdate( Person p, BindingResult br, MultipartFile photo, HttpServletRequest request) throws IOException {  
    if (!photo.isEmpty()) {  
        ServletContext sc = request.getSession().getServletContext();  
        String dir = sc.getRealPath("/upload/"); // 獲得服務器真實路徑  
        String filename = photo.getOriginalFilename(); // 獲得上傳時的文件名  
        String _extName = filename.substring(filename.indexOf(".")); // 擴展名  
  
        // filename = UUID.randomUUID().toString() + _extName; //圖片名稱定義爲UUID,防止併發文件被覆蓋的狀況  
        // filename = System.nanoTime() + _extName; //nanoTime數值  
        filename = System.currentTimeMillis() + _extName; // currentTimeMillis數值  
  
        FileUtils.writeByteArrayToFile(new File(dir + "/" + filename), photo.getBytes()); // 寫文件到服務器上  
  
        p.setPhotoPath("/upload/" + filename); // 設置圖片路徑  
    }  
  
    personService.saveOrUpdate(p);  
  
    return "redirect:/person/listAll.action"; // 重定向  
}  
	public String saveOrUpdate( Person p, BindingResult br, MultipartFile photo, HttpServletRequest request) throws IOException {
		if (!photo.isEmpty()) {
			ServletContext sc = request.getSession().getServletContext();
			String dir = sc.getRealPath("/upload/"); // 獲得服務器真實路徑
			String filename = photo.getOriginalFilename(); // 獲得上傳時的文件名
			String _extName = filename.substring(filename.indexOf(".")); // 擴展名

			// filename = UUID.randomUUID().toString() + _extName; //圖片名稱定義爲UUID,防止併發文件被覆蓋的狀況
			// filename = System.nanoTime() + _extName; //nanoTime數值
			filename = System.currentTimeMillis() + _extName; // currentTimeMillis數值

			FileUtils.writeByteArrayToFile(new File(dir + "/" + filename), photo.getBytes()); // 寫文件到服務器上

			p.setPhotoPath("/upload/" + filename); // 設置圖片路徑
		}

		personService.saveOrUpdate(p);

		return "redirect:/person/listAll.action"; // 重定向
	}
 
 校驗,我在研究一下

獲取【下載地址】 【新技術】如今最流行的java後臺框架組合java springmvc mybaits mysql oracle html5 後臺框架源碼html

相關文章
相關標籤/搜索