SpringMVC圖片上傳

環境:springMVC+commons-fileupload實現文件上傳到Tomacat目錄下。html

1.添加maven依賴java

    commons-fileupload Maven地址:web

  

<dependency>
	<groupId>commons-fileupload</groupId>
	<artifactId>commons-fileupload</artifactId>
	<version>1.3.2</version>
</dependency>

2.配置spring環境:spring

 <!-- 多部分文件上傳 -->
 mvc

<!-- 多部分文件上傳 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
	     <property name="maxUploadSize" value="104857600" />
	     <property name="maxInMemorySize" value="4096" />
	     <property name="defaultEncoding" value="UTF-8"></property>
</bean>

以上spring環境的設置根據具體須要設置app

3.準備java代碼處理圖片maven

@Controller
public class FileUploadController {
	/*
	 * 採用spring提供的上傳文件的方法
	 */
	@RequestMapping("springUpload")
	@ResponseBody
	public ModelAndView springUpload(HttpServletRequest request) throws IllegalStateException, IOException {
		String realPath=request.getSession().getServletContext().getRealPath("upload")+"\\";
		System.out.println(realPath);
		long startTime = System.currentTimeMillis();
		// 將當前上下文初始化給 CommonsMutipartResolver (多部分解析器)
		CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
				request.getSession().getServletContext());
		// 檢查form中是否有enctype="multipart/form-data"
		if (multipartResolver.isMultipart(request)) {
			// 將request變成多部分request
			MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
			// 獲取multiRequest 中全部的文件名
			Iterator iter = multiRequest.getFileNames();
			while (iter.hasNext()) {
				// 一次遍歷全部文件
				MultipartFile file = multiRequest.getFile(iter.next().toString());
				if (file != null) {
					String path = realPath + System.currentTimeMillis()+file.getOriginalFilename();
					// 上傳
					file.transferTo(new File(path));
				}

			}

		}
		long endTime = System.currentTimeMillis();
		System.out.println("方法三的運行時間:" + String.valueOf(endTime - startTime) + "ms");
		return null;
	}
}

代碼中的upload目錄位於工程目錄下的post

4.前臺頁面ui

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>

 
<form name="Form2" action="/工程名/springUpload" method="post"  enctype="multipart/form-data">
<h1>使用spring mvc提供的類的方法上傳文件</h1>
<input type="file" name="file">
<input type="submit" value="upload"/>
</form>
</body>
</html>

 

 

 

原文博客有比較三種後臺處理的時間 傳送門code

相關文章
相關標籤/搜索