From 49f948b06284e112f5938a2035797a18f27c52a2 Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Fri, 31 Oct 2025 17:35:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E9=80=BB=E8=BE=91=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/config/config.go | 16 ++++++++++++---- server/config/config.yaml | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/server/config/config.go b/server/config/config.go index af7f26f6..f6f3e7e8 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -8,10 +8,11 @@ import ( // Config 应用配置结构体 type Config struct { - Server ServerConfig `yaml:"server"` - OSS OSSConfig `yaml:"oss"` - MySQL MySQLConfig `yaml:"mysql"` - Upload UploadConfig `yaml:"upload"` + Server ServerConfig `yaml:"server"` + OSS OSSConfig `yaml:"oss"` + MySQL MySQLConfig `yaml:"mysql"` + Upload UploadConfig `yaml:"upload"` + FileUpload FileUploadConfig `yaml:"fileupload"` } // ServerConfig 服务器配置 @@ -45,6 +46,13 @@ type UploadConfig struct { MaxFileSize int64 `yaml:"max_file_size"` } +type FileUploadConfig struct { + MaxFileSize int64 `yaml:"max_file_size"` // 最大文件大小(字节) + AllowFileTypes string `yaml:"allow_file_types"` // 允许的文件类型,用逗号分隔 + ChunkSize int64 `yaml:"chunk_size"` // 分片大小(5MB) + TempDir string `yaml:"temp_dir"` // 分片临时存储目录 +} + // LoadConfig 从文件加载配置 func LoadConfig(filename string) (*Config, error) { data, err := os.ReadFile(filename) diff --git a/server/config/config.yaml b/server/config/config.yaml index 35c07dc6..3fc4dc4d 100644 --- a/server/config/config.yaml +++ b/server/config/config.yaml @@ -20,3 +20,9 @@ mysql: upload: allow_image_types: "image/jpeg,image/png,image/gif,image/webp" max_file_size: 5242880 # 5MB (5 * 1024 * 1024) + +fileupload: + max_file_size: 1073741824 # 1GB + allow_file_types: "video/mp4,video/avi,application/pdf,image/jpeg,image/png,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,application/json" + chunk_size: 5242880 # 分片容量 + temp_dir: "./temp/chunks" # 临时分片目录(需提前创建,确保权限) \ No newline at end of file