如何才能將一個文件上傳至服務器呢 ,不是一個圖片 而是一個文件,而且 框架是SpringMvc, easyUI做的界面,求大神啊 ,真的很捉急啊啊啊
public String uploadFile(HttpServletRequest request,
HttpServletResponse response,Model model,RedirectAttributes attr) throws IOException, ServletException {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
String fileName = "";
String stroreName = "";
if (multipartResolver.isMultipart(request)) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator<String> iter = multiRequest.getFileNames();
while (iter.hasNext()) {
// 由CommonsMultipartFile繼承而來,擁有上面的方法.
MultipartFile file = multiRequest.getFile(iter.next());
if(file.getSize()>40*1024*1024){
return "overMaxSize";
}
if (file != null) {
fileName = file.getOriginalFilename();
stroreName = System.currentTimeMillis() + ""
+ fileName.substring(fileName.lastIndexOf("."));
File savePathFile = new File(BASE_PATH
+ getPathname("yyyyMM", new Date()));
if (!savePathFile.exists()) {
savePathFile.mkdirs();
}
String path = savePathFile + "/" + stroreName;
File localFile = new File(path);
try {
file.transferTo(localFile);
/*
接收到的文件轉移到給定的目標文件。
這可以移動文件系統中的文件,復制文件系統中的文件或內存內容保存到目標文件。如果目標文件已經存在,它將被刪除。
如果文件系統中的文件被移動,不能再次調用該操作。因此,調用這個方法只有一次能夠處理任何存儲機制。
*/
} catch (IllegalStateException e) {
e.printStackTrace();
throw new ServiceException(e);
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(e);
}
}
}
}
}
上面是後台方法,會自動保存到一個地方,具體你自己指定,然後也可以參考下面的,對於前台則直接是一個
另外的上傳方法參考:
http://blog.csdn.net/niuch1029291561/article/details/17377903