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(); }