package com.iailab.module.infra.framework.file.core.client;
|
|
import com.iailab.module.infra.framework.file.core.client.s3.FilePresignedUrlRespDTO;
|
|
/**
|
* 文件客户端
|
*
|
* @author iailab
|
*/
|
public interface FileClient {
|
|
/**
|
* 获得客户端编号
|
*
|
* @return 客户端编号
|
*/
|
Long getId();
|
|
/**
|
* 上传文件
|
*
|
* @param content 文件流
|
* @param path 相对路径
|
* @return 完整路径,即 HTTP 访问地址
|
* @throws Exception 上传文件时,抛出 Exception 异常
|
*/
|
String upload(byte[] content, String path, String type) throws Exception;
|
|
/**
|
* 删除文件
|
*
|
* @param path 相对路径
|
* @throws Exception 删除文件时,抛出 Exception 异常
|
*/
|
void delete(String path) throws Exception;
|
|
/**
|
* 获得文件的内容
|
*
|
* @param path 相对路径
|
* @return 文件的内容
|
*/
|
byte[] getContent(String path) throws Exception;
|
|
/**
|
* 获得文件预签名地址
|
*
|
* @param path 相对路径
|
* @return 文件预签名地址
|
*/
|
default FilePresignedUrlRespDTO getPresignedObjectUrl(String path) throws Exception {
|
throw new UnsupportedOperationException("不支持的操作");
|
}
|
|
}
|