47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using Microsoft.AspNetCore.Http;
|
||
|
||
namespace FutureMailAPI.DTOs
|
||
{
|
||
public class FileUploadDto
|
||
{
|
||
public string FileName { get; set; } = string.Empty;
|
||
public string ContentType { get; set; } = string.Empty;
|
||
public long FileSize { get; set; }
|
||
public string FilePath { get; set; } = string.Empty;
|
||
public string FileUrl { get; set; } = string.Empty;
|
||
public string ThumbnailUrl { get; set; } = string.Empty;
|
||
public AttachmentType Type { get; set; }
|
||
}
|
||
|
||
public class FileUploadRequestDto
|
||
{
|
||
public AttachmentType Type { get; set; }
|
||
public string? Category { get; set; } // 分类:avatar, attachment等
|
||
}
|
||
|
||
public class FileUploadWithFileRequestDto : FileUploadRequestDto
|
||
{
|
||
public IFormFile File { get; set; } = null!;
|
||
}
|
||
|
||
public class FileUploadResponseDto
|
||
{
|
||
public string FileId { get; set; } = string.Empty;
|
||
public string FileName { get; set; } = string.Empty;
|
||
public string FileUrl { get; set; } = string.Empty;
|
||
public string ThumbnailUrl { get; set; } = string.Empty;
|
||
public long FileSize { get; set; }
|
||
public string ContentType { get; set; } = string.Empty;
|
||
public AttachmentType Type { get; set; }
|
||
public DateTime UploadedAt { get; set; }
|
||
}
|
||
|
||
public enum AttachmentType
|
||
{
|
||
IMAGE,
|
||
VOICE,
|
||
VIDEO,
|
||
DOCUMENT,
|
||
OTHER
|
||
}
|
||
} |