feat: 新增文件上传服务
- 添加 UploadHandler 处理文件上传 - 添加 UploadService 实现文件存储 - 配置上传文件大小限制和存储路径 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,10 @@ func main() {
|
||||
subTableService := service.NewSubTableService(subTableRepo, dbRepo)
|
||||
neo4jService := service.NewNeo4jService(dbRepo)
|
||||
modelService := service.NewModelService(modelRepo)
|
||||
uploadService, err := service.NewUploadService(cfg)
|
||||
if err != nil {
|
||||
log.Printf("Warning: Failed to initialize upload service: %v (files will not be available)", err)
|
||||
}
|
||||
|
||||
// 6. 初始化 Handler
|
||||
dbHandler := handler.NewDatabaseHandler(dbService)
|
||||
@@ -89,6 +93,10 @@ func main() {
|
||||
neo4jHandler := handler.NewNeo4jHandler(neo4jService)
|
||||
modelHandler := handler.NewModelHandler(modelService)
|
||||
systemHandler := handler.NewSystemHandler()
|
||||
var uploadHandler *handler.UploadHandler
|
||||
if uploadService != nil {
|
||||
uploadHandler = handler.NewUploadHandler(uploadService)
|
||||
}
|
||||
|
||||
// 7. 设置路由
|
||||
r := gin.New()
|
||||
@@ -180,6 +188,17 @@ func main() {
|
||||
// 系统信息模块
|
||||
r.GET("/system/info", systemHandler.GetSystemInfo)
|
||||
|
||||
// 文件上传模块
|
||||
if uploadHandler != nil {
|
||||
// 本地文件静态服务
|
||||
if cfg.UploadMode == "local" {
|
||||
r.Static("/files", cfg.UploadLocalPath)
|
||||
}
|
||||
// 上传路由
|
||||
r.POST("/upload", uploadHandler.Upload)
|
||||
r.DELETE("/upload/:filename", uploadHandler.Delete)
|
||||
}
|
||||
|
||||
// 8. 启动服务
|
||||
log.Printf("Server starting on :%s", cfg.Port)
|
||||
if err := r.Run(":" + cfg.Port); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user