/**
* 佐证材料上传
*
* @param file
* @param indexCode
*/
@Override
public Map<String, String> uploadSupportingMaterial(MultipartFile file, String indexCode) {
// 获取文件上传盘
String disk = "D:/";
try {
//存储,目录即为:D:/a/b
String dicPath = disk +
"/" + "a" + "/" + "b";
// 上传并返回新文件名称
String filePath = FileUploadUtils.upload(dicPath, file);
String originalFilename = file.getOriginalFilename();
HashMap<String, String> map = new HashMap<>();
//文件路径
map.put("filePath", filePath);
//原始文件名
map.put("originalFilename", originalFilename);
return map;
} catch (Exception e) {
throw new ServiceException(e.getMessage());
}
}
//上传核心代码
public static final String upload(String baseDir, MultipartFile file)
throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
InvalidExtensionException
{
String fileName = file.getOriginalFilename();
String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
file.transferTo(Paths.get(absPath));
return getPathFileName(baseDir, fileName);
}
//创建文件目录
public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException
{
File desc = new File(uploadDir + File.separator + fileName);
if (!desc.exists())
{
if (!desc.getParentFile().exists())
{
desc.getParentFile().mkdirs();
}
}
return desc;
}