潘志宝
3 天以前 34ba735bfa0d272e063054c7ba0ef6fde65880f4
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.infra.framework.file.core.client;
H 2
3 import com.iailab.module.infra.framework.file.core.client.s3.FilePresignedUrlRespDTO;
4
5 /**
6  * 文件客户端
7  *
8  * @author iailab
9  */
10 public interface FileClient {
11
12     /**
13      * 获得客户端编号
14      *
15      * @return 客户端编号
16      */
17     Long getId();
18
19     /**
20      * 上传文件
21      *
22      * @param content 文件流
23      * @param path    相对路径
24      * @return 完整路径,即 HTTP 访问地址
25      * @throws Exception 上传文件时,抛出 Exception 异常
26      */
27     String upload(byte[] content, String path, String type) throws Exception;
28
29     /**
30      * 删除文件
31      *
32      * @param path 相对路径
33      * @throws Exception 删除文件时,抛出 Exception 异常
34      */
35     void delete(String path) throws Exception;
36
37     /**
38      * 获得文件的内容
39      *
40      * @param path 相对路径
41      * @return 文件的内容
42      */
43     byte[] getContent(String path) throws Exception;
44
45     /**
46      * 获得文件预签名地址
47      *
48      * @param path 相对路径
49      * @return 文件预签名地址
50      */
51     default FilePresignedUrlRespDTO getPresignedObjectUrl(String path) throws Exception {
52         throw new UnsupportedOperationException("不支持的操作");
53     }
54
55 }