using MiAssessment.Admin.Business.Models.Upload;
namespace MiAssessment.Admin.Business.Services.Interfaces;
///
/// 存储提供者接口
///
public interface IStorageProvider
{
///
/// 存储类型标识
/// "1" = 本地存储
/// "3" = 腾讯云COS
///
string StorageType { get; }
///
/// 是否支持客户端直传
///
bool SupportsDirectUpload { get; }
///
/// 上传文件(服务端上传)
///
/// 文件流
/// 文件名
/// 内容类型
/// 上传结果
Task UploadAsync(Stream fileStream, string fileName, string contentType);
///
/// 获取预签名上传URL(客户端直传)
///
/// 文件名
/// 内容类型
/// URL有效期(秒),默认600秒
/// 预签名URL信息
Task GetPresignedUploadUrlAsync(string fileName, string contentType, int expiresInSeconds = 600);
///
/// 删除文件
///
/// 文件URL
/// 是否成功
Task DeleteAsync(string fileUrl);
}