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