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;
}
}
}