|
@@ -3,6 +3,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.aliyun.oss.model.OSSObject;
|
|
|
import com.caimei.www.mapper.DocumentAuthDao;
|
|
|
import com.caimei.www.pojo.JsonModel;
|
|
|
import com.caimei.www.pojo.document.CookieBuilder;
|
|
@@ -27,7 +28,10 @@ import org.springframework.util.StringUtils;
|
|
|
import reactor.core.publisher.Mono;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.io.BufferedReader;
|
|
|
import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStreamReader;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -247,4 +251,33 @@ public class DocumentAuthServiceImpl implements DocumentAuthService {
|
|
|
//删除空文件夹
|
|
|
file.delete();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Mono<JsonModel> downFileAll(Integer pdfId) {
|
|
|
+ StringBuilder date = new StringBuilder();
|
|
|
+ try {
|
|
|
+ OssArchivePdf ossArchivePdf = documentAuthDao.findOssArchivePdfById(pdfId);
|
|
|
+ // 创建OSSClient实例。
|
|
|
+ OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
|
|
+ // ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
|
|
|
+ OSSObject ossObject = ossClient.getObject(bucketName, ossArchivePdf.getOssName());
|
|
|
+ // 读取文件内容。
|
|
|
+ System.out.println("Object content:");
|
|
|
+ BufferedReader reader = new BufferedReader(new InputStreamReader(ossObject.getObjectContent()));
|
|
|
+ while (true) {
|
|
|
+ String line = reader.readLine();
|
|
|
+ if (line == null) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ date.append(line);
|
|
|
+ }
|
|
|
+ // 数据读取完成后,获取的流必须关闭,否则会造成连接泄漏,导致请求无连接可用,程序无法正常工作。
|
|
|
+ reader.close();
|
|
|
+ // 关闭OSSClient。
|
|
|
+ ossClient.shutdown();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return Mono.just(JsonModel.success(JsonModel.success(date)));
|
|
|
+ }
|
|
|
}
|