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