minio搜索文件报错
这里本来想着如果查询不到就会直接返回一个空值,就像数据库那样,结果报了错,后来去网上找错误解决办法,找了一圈都不符合或是解决不了,这里代码本身确实没有错误,但是重点在于minio不是数据库,在minio上面搜索不到是会报错的而不是返回一个空null,所以我们这里需要把异常捕获然后就不会报错影响程序的执行。minio分块上传之前进行文件校验是否已存在时候利。
minio分块上传之前进行文件校验是否已存在时候利minioClient.getObject出现
---------------------------------------------------------------------------------------------------------------------------------
NoSuchKey: The specified key does not exist.
ErrorResponse(code = NoSuchKey, message = The specified key does not exist., bucketName = video, objectName = 0, resource = /video/0, requestId = 176A9E1821C36F39, hostId = dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8)
---------------------------------------------------------------------------------------------------------------------------------
这种错误
具体代码如下:
filterInputStream=minioClient.getObject(GetObjectArgs.builder()
.bucket(videobucket)
.object(chunkFilePath)
.build());
if (filterInputStream!=null){
//分块已经存在
log.info("分块文件已存在");
return RestResponse.success(true);
}
这里本来想着如果查询不到就会直接返回一个空值,就像数据库那样,结果报了错,后来去网上找错误解决办法,找了一圈都不符合或是解决不了,这里代码本身确实没有错误,但是重点在于minio不是数据库,在minio上面搜索不到是会报错的而不是返回一个空null,所以我们这里需要把异常捕获然后就不会报错影响程序的执行
修改后如下:
try {
filterInputStream=minioClient.getObject(GetObjectArgs.builder()
.bucket(videobucket)
.object(chunkFilePath)
.build());
if (filterInputStream!=null){
return RestResponse.success(true);
}
}catch (Exception e){
}
更多推荐
所有评论(0)