package cn.iocoder.yudao.module.infra.api.file;
|
|
import jakarta.validation.constraints.NotEmpty;
|
|
/**
|
* 文件 API 接口
|
*
|
* @author 芋道源码
|
*/
|
public interface FileApi {
|
|
/**
|
* 保存文件,并返回文件的访问路径
|
*
|
* @param content 文件内容
|
* @return 文件路径
|
*/
|
default String createFile(byte[] content) {
|
return createFile(content, null, null, null);
|
}
|
|
/**
|
* 保存文件,并返回文件的访问路径
|
*
|
* @param content 文件内容
|
* @param name 文件名称,允许空
|
* @return 文件路径
|
*/
|
default String createFile(byte[] content, String name) {
|
return createFile(content, name, null, null);
|
}
|
|
/**
|
* 保存文件,并返回文件的访问路径
|
*
|
* @param content 文件内容
|
* @param name 文件名称,允许空
|
* @param directory 目录,允许空
|
* @param type 文件的 MIME 类型,允许空
|
* @return 文件路径
|
*/
|
String createFile(@NotEmpty(message = "文件内容不能为空") byte[] content,
|
String name, String directory, String type);
|
|
/**
|
* 生成文件预签名地址,用于读取
|
*
|
* @param url 完整的文件访问地址
|
* @param expirationSeconds 访问有效期,单位秒
|
* @return 文件预签名地址
|
*/
|
String presignGetUrl(@NotEmpty(message = "URL 不能为空") String url,
|
Integer expirationSeconds);
|
|
}
|