using System; using System.Collections.Generic; namespace TakeoutSaaS.Module.Storage.Models; /// /// 直传(预签名上传)结果。 /// public sealed class StorageDirectUploadResult { /// /// 预签名上传地址(PUT 上传或表单地址)。 /// public string UploadUrl { get; init; } = string.Empty; /// /// 直传附加字段(如表单直传所需字段),PUT 方式为空。 /// public IReadOnlyDictionary FormFields { get; init; } = new Dictionary(); /// /// 预签名过期时间。 /// public DateTimeOffset ExpiresAt { get; init; } /// /// 关联的对象键。 /// public string ObjectKey { get; init; } = string.Empty; /// /// 上传成功后可选的签名下载地址。 /// public string? SignedDownloadUrl { get; init; } }