修改:大文件分片上传接口超时设置优化,合并动作设置成同步
This commit is contained in:
@@ -2048,28 +2048,20 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
finalLocalFilePath,localTempDirPath,req.getChunkTotal(),localMergeSuccess);
|
||||
}
|
||||
|
||||
// 同步调用
|
||||
try {
|
||||
Boolean merge = minioService.merge(chunkBucket, tempDirPath, chunkBucket, req.getObjectKey());
|
||||
if(!merge){
|
||||
// 删除分片临时数据
|
||||
deleteTempFileAfterFailed(tempDirPath,chunkBucket);
|
||||
log.error("合并分片失败:{}",tempDirPath);
|
||||
return buildFailedResponse(resp,"文件合并失败",req);
|
||||
}
|
||||
// 4. 合并完成后删除临时目录
|
||||
// 3. 全部分片已经上传 => 自动合并
|
||||
String finalFileName = req.getObjectKey();
|
||||
Boolean merge = minioService.merge(chunkBucket, tempDirPath, chunkBucket, finalFileName);
|
||||
if(!merge){
|
||||
deleteTempFileAfterFailed(tempDirPath,chunkBucket);
|
||||
} catch (Exception e) {
|
||||
log.error("合并分片 error:{}",e.getMessage());
|
||||
}finally {
|
||||
log.error("合并分片失败:{}",tempDirPath);
|
||||
// 删除分片上传的处理中状态
|
||||
commonStatusUtil.end(CommonStatusUtil.CHUNK_UPLOAD_FILE+req.getBusinessId());
|
||||
return buildFailedResponse(resp,req.getSourceFileName()+"合并分片失败",req);
|
||||
}
|
||||
asyncMerge(req.getObjectKey(),chunkBucket,tempDirPath,req.getBusinessId());
|
||||
// 分片文件已经上传完成,提前返回,异步合并数据
|
||||
// CompletableFuture.runAsync(() -> {
|
||||
// asyncMerge(req.getObjectKey(),chunkBucket,tempDirPath,req.getBusinessId());
|
||||
// });
|
||||
// 4. 合并完成后删除临时目录
|
||||
deleteTempFileAfterFailed(tempDirPath,chunkBucket);
|
||||
// 删除分片上传的处理中状态
|
||||
commonStatusUtil.end(CommonStatusUtil.CHUNK_UPLOAD_FILE+req.getBusinessId());
|
||||
return buildSuccessResponse(resp,req,tempDirPath);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user