1. 程式人生 > 其它 >上傳附件

上傳附件

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("上傳成功!");

}