本文Java实现文件的上传,以上传图片为例,仅做记录,代码如下:
@RequestMapping(value = "/upload")
public @ResponseBody Map<String ,Object> uploadAppHeadPic(
HttpServletRequest request,
@RequestParam("file") MultipartFile file){
// 上传文件路径
String path = request.getSession().getServletContext().getRealPath("/");
Map<String ,Object> result;
try{
// 如果文件不为空,写入上传路径
if(!file.isEmpty()) {
//自定义文件路径
String savePath = "WEB-INF/image";
// 上传文件名,自定义文件名称
String filename = "abc.jpg";
File filepath = new File(path + savePath, filename);
// 判断路径是否存在,如果不存在就创建一个
if (!filepath.getParentFile().exists()) {
filepath.getParentFile().mkdirs();
}
// 将上传文件保存到一个目标文件当中
savePath = savePath + File.separator + filename;
path = path + savePath;
file.transferTo(new File(path));
//业务你的处理 TODO
//
//
result = CommonUtils.getMessage("0","成功上传!");
}else {
result = CommonUtils.getMessage("1","上传文件为空!");
}
} catch (Exception e){
e.printStackTrace();
result = CommonUtils.getMessage("1","系统错误!");
}
return result;
}
文中涉及到一个公共类CommonUtils,内容很简单,只是获取一个公共的返回参数,如下:
public static Map<String, Object> getMessage(String code,String message){
Map<String, Object> map = new HashMap<String, Object>();
map.put("code", code);
map.put("message", message);
return map;
}