@Controller
@RequestMapping("uploadmenupicture.do")
@ResponseBody
public ServerResponse upload(@RequestParam(value="upload_file",required = false) MultipartFile file, HttpServletRequest request ){
String path = request.getSession().getServletContext().getRealPath("upload");
String targetFileName = iFileService.upload(file, path);
String url = PropertiesUtil.getProperty("ftp.server.http.prefix") + targetFileName;
Map fileMap = Maps.newHashMap();
fileMap.put("uri", targetFileName);
fileMap.put("url", url);
return ServerResponse.createBySuccess(fileMap);
}
@Override
public String upload(MultipartFile file, String path) {
String fileName = file.getOriginalFilename();
//获取扩展名
String fileExtensionName = fileName.substring(fileName.lastIndexOf(".")+1);
//
String uploadfileName = UUID.randomUUID().toString() + "." + fileExtensionName;
logger.info("开始上传文件,上传文件的文件名:{},上传的路径:{},新文件名:{}", fileName, path, uploadfileName);
File fileDir = new File(path);
if (!fileDir.exists()) {
fileDir.setExecutable(true);
fileDir.mkdirs();
}
File targetFile = new File(path, uploadfileName);
try {
file.transferTo(targetFile);
//todo 将targetFile上传到我们的FTP服务器上
FTPUtil.uploadFile(Lists.newArrayList(targetFile));
//已经上传到ftp服务器上
//todo 上传完之后,删除upload下面的文件
//targetFile.delete();
} catch (IOException e) {
logger.error("上传文件异常", e);
return null;
}
return targetFile.getName();
}