spring 文件上传

来源:互联网 发布:linux java spring 编辑:程序博客网 时间:2024/05/17 04:36
@RequestMapping(value = "/upload")
@ResponseBody
public Map<String, Object> tzupload(
@RequestParam("doc") MultipartFile file, HttpServletRequest request)
throws IllegalStateException, IOException {
String directory = request.getParameter("dir");
if(TmStringUtils.isEmpty(directory))directory = "tzmusic";
String rootDir = "resource/"+directory;
String realPath = request.getRealPath(rootDir);
File dirPath = new File(realPath);
// 自动创建上传的upload目录
if (!dirPath.exists())
dirPath.mkdirs();
String oldName = file.getOriginalFilename();
String oldFileName = request.getParameter("oldName");
String ext = TmFileUtil.getExtNoPoint(oldName);
String newName = null;
if (TmStringUtils.isNotEmpty(oldFileName)) {
newName = TmFileUtil.getNotExtName(oldFileName) + "." + ext;
} else {
newName = TmFileUtil.generateFileName(oldName, 5, "yyyyMMddHHmmss");
}
File targetFile = new File(dirPath, newName);
file.transferTo(targetFile);// 文件上传
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("name", oldName);// 文件的原始名称
map.put("newName", newName);// 文件的新名称
map.put("ext", ext);// 文件的后缀
map.put("size", file.getSize());// 文件的真实大小
map.put("sizeString", TmFileUtil.countFileSize(file.getSize()));// 获取文件转换以后的大写
map.put("url", directory+"/" + newName);// 获取文件的具体服务器的目录
return map;
}
0 0
原创粉丝点击