using MyHomePage.Api.Models.Dtos;
namespace MyHomePage.Api.Services;
/// 文件上传服务。
public interface IUploadService
{
/// 保存浏览器上传的文件(IFormFile)。
Task SaveAsync(IFormFile file);
/// 保存任意来源的字节流(如抓取的 favicon)。
/// 数据流(由调用方负责释放)
/// 用于推断扩展名的原始文件名
/// HTTP Content-Type(如 image/png)
/// 可选子目录(如 "favicons"),用于逻辑分组
Task SaveStreamAsync(Stream stream, string fileName, string contentType, string? subDir = null);
/// 确保上传根目录存在,返回根目录绝对路径。
string EnsureRoot();
}