如何才能将一个文件上传至服务器呢 ,不是一个图片 而是一个文件,而且 框架是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
input type="file" name="myFile" class="file" id="myFile" size="28" style="display:inline;"
前台
http://www.360doc.com/content/12/0626/08/820209_220460899.shtml