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