From 49000e9ee6f0744c5f12ccb2ec6ca8aae5c18a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Thu, 15 Oct 2020 23:30:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/celess/blog/service/FileManager.java | 18 +++++-- .../fileserviceimpl/QiniuFileServiceImpl.java | 9 ++++ src/test/java/cn/celess/blog/BaseTest.java | 6 +++ .../QiniuFileServiceImplTest.java | 50 +++++++++++++++++++ 4 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 src/test/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImplTest.java diff --git a/src/main/java/cn/celess/blog/service/FileManager.java b/src/main/java/cn/celess/blog/service/FileManager.java index 997d845..9c355ed 100644 --- a/src/main/java/cn/celess/blog/service/FileManager.java +++ b/src/main/java/cn/celess/blog/service/FileManager.java @@ -14,15 +14,27 @@ import java.util.List; */ @Service public interface FileManager { - /** - * 解决语法错误 占位方法 + * 上传文件到文件存储容器中 * + * @param is 文件流 + * @param fileName 文件名 + * @return FileResponse */ FileResponse uploadFile(InputStream is, String fileName); /** - * 解决语法错误 占位方法 + * 获取文件列表 + * + * @return 文件信息 */ List getFileList(); + + /** + * 删除文件 + * + * @param fileName 文件名 + * @return 是否删除成功 + */ + boolean deleteFile(String fileName); } diff --git a/src/main/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImpl.java b/src/main/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImpl.java index 8499a7c..56e9f6a 100644 --- a/src/main/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImpl.java @@ -12,6 +12,7 @@ import com.qiniu.storage.Configuration; import com.qiniu.storage.UploadManager; import com.qiniu.util.Auth; import com.qiniu.util.StringMap; +import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -99,6 +100,14 @@ public class QiniuFileServiceImpl implements FileManager { return infoList; } + @SneakyThrows + @Override + public boolean deleteFile(String fileName) { + Response response = bucketManager.delete(bucket, fileName); + + return false; + } + private boolean continueFile(String key) { List fileList = getFileList(); for (FileInfo fileInfo : fileList) { diff --git a/src/test/java/cn/celess/blog/BaseTest.java b/src/test/java/cn/celess/blog/BaseTest.java index cc90e87..12849a4 100644 --- a/src/test/java/cn/celess/blog/BaseTest.java +++ b/src/test/java/cn/celess/blog/BaseTest.java @@ -345,5 +345,11 @@ public class BaseTest { log.debug("获取文件列表请求"); return new ArrayList<>(); } + + @Override + public boolean deleteFile(String fileName) { + log.debug("删除[{}]成功", fileName); + return true; + } } } diff --git a/src/test/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImplTest.java b/src/test/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImplTest.java new file mode 100644 index 0000000..7997c5d --- /dev/null +++ b/src/test/java/cn/celess/blog/service/fileserviceimpl/QiniuFileServiceImplTest.java @@ -0,0 +1,50 @@ +package cn.celess.blog.service.fileserviceimpl; + +import cn.celess.blog.BaseTest; +import cn.celess.blog.entity.model.FileResponse; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ActiveProfiles; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; + +import static org.junit.Assert.*; + +@Slf4j +@ActiveProfiles("prod") +public class QiniuFileServiceImplTest extends BaseTest { + + @Autowired + QiniuFileServiceImpl qiniuFileService; + + @SneakyThrows + @Test + public void uploadFile() { + String fileName = "test." + randomStr(3); + File file = new File(fileName); + if (!file.exists() && file.createNewFile()) { + // 创建文件 + log.debug("创建文件[{}]", fileName); + FileOutputStream outputStream = new FileOutputStream(file); + for (int i = 0; i < 100; i++) { + outputStream.write(new byte[1024]); + } + outputStream.flush(); + outputStream.close(); + } + FileResponse fileResponse = qiniuFileService.uploadFile(new FileInputStream(file), fileName); + assertEquals(fileName, fileResponse.key); + } + + @Test + public void getFileList() { + } + + @Test + public void deleteFile() { + } +} \ No newline at end of file