GoAdminGroup / go-admin

A golang framework helps gopher to build a data visualization and admin panel in ten minutes
https://www.go-admin.com
Apache License 2.0
8.19k stars 1.34k forks source link

[BUG] FileUploadEngine初始化失败 #397

Closed Halimao closed 3 years ago

Halimao commented 3 years ago

bug 描述 [详细地描述 bug,让大家都能理解]

使用AddConfigFromJSON初始化配置,设置了FileUploadEngine但是无法生效

复现步骤 [清晰描述复现步骤,让别人也能看到问题]

config.json

"file_upload_engine": {
    "name": "alioss",
    "config": {
        "access_key_id": "*********",
        "access_key_secret": "*********",
        "bucket": "*********",
        "endpoint": "*********",
        "file_dir": "*********"
    }
},

main.go

...
e := echo.New()
template.AddComp(chartjs.NewChart())
eng := engine.Default()
if err := eng.AddConfigFromJSON("./config.json").AddGenerators(tables.Generators).Use(e); err != nil {
    panic(err)
}

fmt.Println(config.Get().FileUploadEngine.Name)
...

期望结果 [描述你原本期望看到的结果]

期望输出: alioss 实际输出: ""

复现代码 [提供可复现的代码,仓库,或线上示例]

版本信息:

其他信息 [如截图等其他信息可以贴在这里]

Use(e)内部调用eng.initSiteSetting(), 进而调用eng.config.Update, 然后在 eng.config.ToMap()位置,ToMap方法实现缺失了FileUploadEngine字段的映射,进而在eng.config.Update方法实现内部,获取"file_upload_engine"字段为空,覆盖了原先从Configuration.json读取到的值。

image image

jooyyy commented 3 years ago

同样的问题,会导致文件上传失败,需要修复

chenhg5 commented 3 years ago

@Halimao @jooyyy

配置文件只会在第一次启动时起作用,后续都是从数据库中读取配置。可以尝试在网站右上角进行设置: