/**gn
* @param file 文件
* @param chunks 分片总数
* @param chunk 当前分片
* @param name 文件名
* @param md5 文件md5值
* @return
* @Description: 手动上传
* @date 2022/8/8 11:42
* @author Qifan
*/
public String uploadFile(MultipartFile file, String chunks, String chunk, String name, String md5) {
//数据库获取实体
List<LocalFilePathEntity> localPathInfoList = ();
//准备返回结果
Map<String, String> resultMap;
String returnJsonStr;
if (!(localPathInfoList) && !((0).getZipPath())) {
//准备对象
LocalFilePathEntity filePathEntity = (0);
String packFilePath = ();
//文件名
String str = (0, ("."));
//创建目录
(packFilePath);
//对分片进行判断,存在走分片
if (chunks != null && chunk != null) {
//创建分片路径--->.../文件名/md5/
File dir = new File(packFilePath + str + "/" + md5);
if (!()) {
();
}
try {
byte[] bytes = ();
Path path = (packFilePath + str + "/" + md5 + "/" + chunk);
//写入分片下路径
(path, bytes, new OpenOption[0]);
//合并分片另外写了接口,等多个分片上传完成之后,再进行合并接口,并保存入库
("文件分片上传成功!");
resultMap = this.getReturnMap(name, "文件上传成功");
returnJsonStr = (resultMap);
} catch (IOException var15) {
("文件分片失败 失败原因" + ());
resultMap = this.getReturnMap(name, "分片失败,失败原因:" + ());
returnJsonStr = (resultMap);
}
} else {//分片为null,不存在,一般文件
try {
byte[] bytes = ();
Path path = (packFilePath + name);
("----------------");
(path, bytes, new OpenOption[0]);
//一.保存上传记录表
//UploadFileHisEntity uploadHis = (0, name);
//if (().equals(())) {
// resultMap = (name, ());
// returnJsonStr = (resultMap);
// return returnJsonStr;
//}
//二.解析文件并入库
//(name, uploadHis, filePathEntity);
("文件上传成功!");
resultMap = this.getReturnMap(name, "文件上传成功");
returnJsonStr = (resultMap);
} catch (IOException var14) {
("文件上传失败 失败原因" + ());
resultMap = this.getReturnMap(name, "上传失败,失败原因:" + ());
returnJsonStr = (resultMap);
}
}
return returnJsonStr;
} else {//没有配置路径,不允许上传
resultMap = this.getReturnMap(name, "本机配置没有配置上传压缩包文件路径");
returnJsonStr = (resultMap);
return returnJsonStr;
}
}