SpringMVC文件上傳

1.SpringMVC配置文件中配置處理器

<!-- SpringMVC上傳文件時,須要配置MultipartResolver處理器 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<!-- 指定所上傳文件的總大小不能超過200KB。注意maxUploadSize屬性的限制不是針對單個文件,而是全部文件的容量之和 -->
		<!-- <property name="maxUploadSize" value="5242880" /> -->
	</bean>

2.jsp頁面的文件上傳

<form action="uploadFile.action" method="post" enctype="multipart/form-data">
<input type="hidden" name="foldName" value="business">
上傳文件:<input type="file" name="file">
<input type="submit" value="go">
</form>

3.後臺接收處理

/**
	 * 上傳文件
	 **/ 
	@RequestMapping("/uploadFile")
	public @ResponseBody molist uploadFile(MultipartFile file,String foldName) {
		molist=new HashMap<>();
		String msg="上傳失敗";
		FileLoadHelper fileHelper=new FileLoadHelper();
		if(foldName==null||"".equals(foldName))
			foldName="others";
		try {
			msg= fileHelper.loadFile(file, foldName);
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		molist.put("msg",msg);
		return (molist) molist;
	}

3.1fileHelper類

public class FileLoadHelper {
	//文件上傳方法
	public static String loadFile(MultipartFile file,String fileParent) throws Exception{
		
	String fileParentName = "\\\\127.0.0.1\\file\\test\\"+ fileParent +"\\";	
		String UrlFile = "http://127.0.0.1:8080/file/test/";
		
		if(file!=null && !file.isEmpty()){
			//原始名稱
			String fileName = file.getOriginalFilename().replace(" ", "");
			//新名稱
			String newFileName = System.currentTimeMillis() + "_" + fileName;	
			//新文件
			File new_licPicSite = new File(fileParentName + newFileName);
			//將內存的數據寫入磁盤
			file.transferTo(new_licPicSite);
			return UrlFile + fileParent+"/" +newFileName;
			
		}else{
			return null;
		}
	}	
}
相關文章
相關標籤/搜索