|
|
@@ -54,8 +54,8 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 多文件上传
|
|
|
*
|
|
|
- * @param files
|
|
|
- * @return
|
|
|
+ * @param files 文件列表
|
|
|
+ * @return list
|
|
|
*/
|
|
|
@Override
|
|
|
public List<DocumentVO> uploadFiles(List<MultipartFile> files) {
|
|
|
@@ -72,9 +72,8 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 文件上传
|
|
|
*
|
|
|
- * @param file
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
+ * @param file 文件
|
|
|
+ * @return file
|
|
|
*/
|
|
|
@Override
|
|
|
public DocumentVO uploadFile(MultipartFile file) throws Exception {
|
|
|
@@ -88,12 +87,12 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 文件下载
|
|
|
*
|
|
|
- * @param fileId
|
|
|
- * @return
|
|
|
+ * @param fileId 文件ID
|
|
|
+ * @return 文档
|
|
|
*/
|
|
|
@Override
|
|
|
public DocumentVO downloadFile(String fileId) {
|
|
|
- Optional<DocumentFile> option = this.getBinaryFileById(fileId);
|
|
|
+ Optional<DocumentFile> option = this.findByFileId(fileId);
|
|
|
|
|
|
if (option.isPresent()) {
|
|
|
DocumentFile documentFile = option.get();
|
|
|
@@ -132,11 +131,11 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 文件删除
|
|
|
*
|
|
|
- * @param fileId
|
|
|
+ * @param fileId 文件ID
|
|
|
*/
|
|
|
@Override
|
|
|
public void removeFile(String fileId) {
|
|
|
- Optional<DocumentFile> option = this.getBinaryFileById(fileId);
|
|
|
+ Optional<DocumentFile> option = this.findByFileId(fileId);
|
|
|
if (option.isPresent()) {
|
|
|
if (Objects.nonNull(option.get().getGridFsId())) {
|
|
|
this.removeGridFsFile(fileId);
|
|
|
@@ -149,7 +148,7 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 删除Binary文件
|
|
|
*
|
|
|
- * @param fileId
|
|
|
+ * @param fileId 文件ID
|
|
|
*/
|
|
|
public void removeBinaryFile(String fileId) {
|
|
|
mongoFileRepository.deleteById(fileId);
|
|
|
@@ -206,9 +205,8 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 保存GridFs文件(大文件)
|
|
|
*
|
|
|
- * @param file
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
+ * @param file 文件
|
|
|
+ * @return vo
|
|
|
*/
|
|
|
public DocumentVO saveGridFsFile(MultipartFile file) throws Exception {
|
|
|
String suffix = FileUtils.getFileSuffix(file);
|
|
|
@@ -236,9 +234,9 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
/**
|
|
|
* 上传文件到Mongodb的GridFs中
|
|
|
*
|
|
|
- * @param in
|
|
|
- * @param contentType
|
|
|
- * @return
|
|
|
+ * @param in 文件输入流
|
|
|
+ * @param contentType type
|
|
|
+ * @return id
|
|
|
*/
|
|
|
public String storeFileToGridFS(InputStream in, String filename, String contentType) {
|
|
|
// 将文件存储进GridFS中
|
|
|
@@ -247,13 +245,14 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取Binary文件
|
|
|
+ * 根据文件ID获取文档内容
|
|
|
*
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
+ * @param fileId 文件ID
|
|
|
+ * @return documentFile
|
|
|
*/
|
|
|
- public Optional<DocumentFile> getBinaryFileById(String id) {
|
|
|
- return mongoFileRepository.findById(id);
|
|
|
+ @Override
|
|
|
+ public Optional<DocumentFile> findByFileId(String fileId) {
|
|
|
+ return mongoFileRepository.findById(fileId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -265,17 +264,21 @@ public class MongoServiceImpl implements IMongoService {
|
|
|
@Override
|
|
|
public DocumentVO copy(String id) {
|
|
|
Optional<DocumentFile> optional = mongoFileRepository.findById(id);
|
|
|
- DocumentFile file = optional.get();
|
|
|
- file.setId(null);
|
|
|
- mongoFileRepository.save(file);
|
|
|
- return new DocumentVO(file);
|
|
|
+ if (optional.isPresent()) {
|
|
|
+ DocumentFile file = optional.get();
|
|
|
+ file.setId(null);
|
|
|
+ mongoFileRepository.save(file);
|
|
|
+ return new DocumentVO(file);
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取Grid文件
|
|
|
*
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
+ * @param id 文件ID
|
|
|
+ * @return 文档
|
|
|
*/
|
|
|
public Optional<DocumentFile> getGridFsFileById(String id) {
|
|
|
DocumentFile documentFile = mongoTemplate.findById(id, DocumentFile.class);
|