|
@@ -2,6 +2,7 @@ package com.caimei.www.service.page.impl;
|
|
|
|
|
|
import com.aliyun.oss.OSS;
|
|
|
import com.aliyun.oss.OSSClientBuilder;
|
|
|
+import com.aliyun.oss.model.GetObjectRequest;
|
|
|
import com.caimei.www.mapper.DocumentAuthDao;
|
|
|
import com.caimei.www.pojo.JsonModel;
|
|
|
import com.caimei.www.pojo.document.CookieBuilder;
|
|
@@ -26,6 +27,7 @@ import org.springframework.util.StringUtils;
|
|
|
import reactor.core.publisher.Mono;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.io.File;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -198,4 +200,48 @@ public class DocumentAuthServiceImpl implements DocumentAuthService {
|
|
|
}
|
|
|
return Mono.just(JsonModel.success(ossArchive));
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Mono<JsonModel> downFile(Integer pdfId) {
|
|
|
+ OssArchivePdf ossArchivePdf = documentAuthDao.findOssArchivePdfById(pdfId);
|
|
|
+ if (ossArchivePdf != null) {
|
|
|
+ try {
|
|
|
+ // 创建OSSClient实例。
|
|
|
+ OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
|
|
+ File file = new File("src/main/resources/static/file");
|
|
|
+ if (!file.exists()) {
|
|
|
+ file.mkdir();
|
|
|
+ }
|
|
|
+ // 下载OSS文件到本地文件。如果指定的本地文件存在会覆盖,不存在则新建。
|
|
|
+ ossClient.getObject(new GetObjectRequest(bucketName, ossArchivePdf.getOssName()), new File("src/main/resources/static/file/" + ossArchivePdf.getName()));
|
|
|
+ // 关闭OSSClient。
|
|
|
+ ossClient.shutdown();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return Mono.just(JsonModel.error(e.getMessage()));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return Mono.just(JsonModel.error("文件不存在"));
|
|
|
+ }
|
|
|
+ return Mono.just(JsonModel.success(ossArchivePdf.getName()));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteFile() {
|
|
|
+ File file = new File("src/main/resources/static/file");
|
|
|
+ //取得这个目录下的所有子文件对象
|
|
|
+ File[] files = file.listFiles();
|
|
|
+ //遍历该目录下的文件对象
|
|
|
+ if (files != null && files.length > 0) {
|
|
|
+ for (File f : files) {
|
|
|
+ //打印文件名
|
|
|
+ String name = file.getName();
|
|
|
+ log.info("定时删除服务器临时文件,文件名>>>>>" + name);
|
|
|
+ //判断子目录是否存在子目录,如果是文件则删除
|
|
|
+ f.delete();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //删除空文件夹
|
|
|
+ file.delete();
|
|
|
+ }
|
|
|
}
|