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