文件上传服务获取InputStream未关闭,导致删除临时文件删除失败

pull/302/head
CQG 2 years ago
parent 8dff14a6cc
commit dce91a03ef

@ -8,9 +8,11 @@ import com.github.tobato.fastdfs.domain.fdfs.StorePath;
import com.github.tobato.fastdfs.service.FastFileStorageClient;
import com.ruoyi.common.core.utils.file.FileTypeUtils;
import java.io.InputStream;
/**
* FastDFS
*
*
* @author ruoyi
*/
@Service
@ -27,7 +29,7 @@ public class FastDfsSysFileServiceImpl implements ISysFileService
/**
* FastDfs
*
*
* @param file
* @return 访
* @throws Exception
@ -35,8 +37,10 @@ public class FastDfsSysFileServiceImpl implements ISysFileService
@Override
public String uploadFile(MultipartFile file) throws Exception
{
StorePath storePath = storageClient.uploadFile(file.getInputStream(), file.getSize(),
InputStream inputStream = file.getInputStream();
StorePath storePath = storageClient.uploadFile(inputStream, file.getSize(),
FileTypeUtils.getExtension(file), null);
inputStream.close();
return domain + "/" + storePath.getFullPath();
}
}

@ -8,9 +8,11 @@ import com.ruoyi.file.utils.FileUploadUtils;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import java.io.InputStream;
/**
* Minio
*
*
* @author ruoyi
*/
@Service
@ -23,8 +25,8 @@ public class MinioSysFileServiceImpl implements ISysFileService
private MinioClient client;
/**
*
*
* Minio
*
* @param file
* @return 访
* @throws Exception
@ -33,13 +35,15 @@ public class MinioSysFileServiceImpl implements ISysFileService
public String uploadFile(MultipartFile file) throws Exception
{
String fileName = FileUploadUtils.extractFilename(file);
InputStream inputStream = file.getInputStream();
PutObjectArgs args = PutObjectArgs.builder()
.bucket(minioConfig.getBucketName())
.object(fileName)
.stream(file.getInputStream(), file.getSize(), -1)
.stream(inputStream, file.getSize(), -1)
.contentType(file.getContentType())
.build();
client.putObject(args);
inputStream.close();
return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName;
}
}

Loading…
Cancel
Save