master
zhang chengzhi 2024-09-06 10:46:38 +08:00
parent 003440340d
commit 84069ba64e
1 changed files with 31 additions and 34 deletions

View File

@ -38,9 +38,9 @@ public class DownloadOssSynchronization implements ApplicationRunner {
/** /**
* *
*/ */
private static String serverClassPath ="home/lib/com/muyu/rule/common/engine/value/"; private static String serverClassPath = "home/lib/com/muyu/rule/common/engine/value/";
private static String bucketName = "zcz-vfd-1000"; private static String bucketName = "zcz-vfd-1000";
@Override @Override
public void run(ApplicationArguments args) throws Exception { public void run(ApplicationArguments args) throws Exception {
@ -52,43 +52,40 @@ private static String bucketName = "zcz-vfd-1000";
// 循环获取存储桶中的所有对象 // 循环获取存储桶中的所有对象
for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) { for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) {
String key = objectSummary.getKey(); String key = objectSummary.getKey();
downloadFile(ossClient, bucketName, key,serverClassPath ); downloadFile(ossClient, bucketName, key, serverClassPath);
} }
// 关闭OSSClient // 关闭OSSClient
ossClient.shutdown(); ossClient.shutdown();
//下载完成实现批量批量类加载 //下载完成实现批量批量类加载
} }
private void downloadFile(OSS ossClient, String bucketName, String key, String serverPath){ private void downloadFile(OSS ossClient, String bucketName, String key, String serverPath) {
//创建服务器项目容器的文件目录路径 //创建服务器项目容器的文件目录路径
File serverFile = new File(serverPath, key); File serverFile = new File(serverPath, key);
//如果目录不存在,则创建目录 //如果目录不存在,则创建目录
if (!serverFile.getParentFile().exists()){ if (!serverFile.getParentFile().exists()) {
serverFile.getParentFile().mkdirs(); serverFile.getParentFile().mkdirs();
} }
//下载文件到项目中 //下载文件到项目中
OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, key)); OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, key));
try(FileOutputStream fos = new FileOutputStream(serverFile);){ try (FileOutputStream fos = new FileOutputStream(serverFile);) {
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
int byteRead; int byteRead;
while ((byteRead = ossObject.getObjectContent().read(buffer)) != -1){ while ((byteRead = ossObject.getObjectContent().read(buffer)) != -1) {
fos.write(buffer,0,byteRead); fos.write(buffer, 0, byteRead);
} }
log.info("文件 " +key +"已经下载到" + serverFile.getAbsolutePath()); log.info("文件 " + key + "已经下载到" + serverFile.getAbsolutePath());
}catch (IOException e){ } catch (IOException e) {
log.error("下载文件失败:"+key); log.error("下载文件失败:" + key);
e.printStackTrace(); e.printStackTrace();
} }
} }
} }