using Dpz.Core.Entity.Base.Image;

namespace Dpz.Core.Service.ObjectStorage.Services;

/// <summary>
/// 腾讯云数据万象服务
/// </summary>
public interface ICloudInfiniteService
{
    /// <summary>
    /// 通过 COS 源站签名请求调用数据万象 imageInfo,并适配为系统内通用的图片元信息类型
    /// </summary>
    /// <param name="pathToFile">COS 对象 Key、相对路径或完整 URL</param>
    /// <param name="url">文件对外访问 URL</param>
    /// <param name="bucket">可选的 COS 存储桶名称,未传入时使用默认 S3 配置</param>
    /// <param name="cancellationToken">传播通知操作应取消的通知令牌</param>
    /// <returns>图片元信息;无法识别或远端未返回有效信息时返回 null</returns>
    Task<ImageMetadata?> GetImageMetadataAsync(
        string pathToFile,
        string url,
        string? bucket = null,
        CancellationToken cancellationToken = default
    );
}
评论加载中...