上傳附件
public ResponseVO uploadFile(MultipartFile file ,Integer parentId) {
// 查詢父類檔案路徑
List<FilemgrVO> treeList = new ArrayList<>();
List<FilemgrVO> list = filemgrMapper.getList(" fileType <= 0 and opid = "+SysFunc.getOperatorID());
List<FilemgrVO> fileTree = getStructTree(list, SysFunc.getOperatorID());
String filePath = filPath;// path
File folder = new File(filePath);
if (!folder.exists()) {
folder.mkdir();
}
String path = folder+getFilePath(fileTree,parentId);
String name = file.getName();
String contentType = file.getContentType();
String guid = UUID.randomUUID().toString();
// 判斷有沒有同名的檔案
List<FilemgrVO> list1 = filemgrMapper.getList(" m.name ='" + name + "' and m.type = '" + contentType + "'");
if(list1.size() > 0 ){
return ResponseVO.error("該檔案已存在!");
}
// 把檔案寫到對應資料夾
File targetfile = new File (path+"//"+guid+"."+contentType);
try {
file.transferTo(targetfile);
} catch (IOException e) {
e.printStackTrace();
return ResponseVO.error("檔案上傳失敗!");
}
//
FilemgrVO vo = new FilemgrVO();
vo.setGuid(guid);
vo.setUpdatetime(new Date());
vo.setFiletypeid(rwFileType);
vo.setOpdate(new Date());
vo.setName(name);
vo.setAttachsize(new Double(file.getSize()));
saveFilemgrVO(vo);
return ResponseVO.ok("上傳成功!");
}