Closed Halimao closed 3 years ago
使用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读取到的值。
同样的问题,会导致文件上传失败,需要修复
@Halimao @jooyyy
配置文件只会在第一次启动时起作用,后续都是从数据库中读取配置。可以尝试在网站右上角进行设置:
bug 描述 [详细地描述 bug,让大家都能理解]
使用AddConfigFromJSON初始化配置,设置了FileUploadEngine但是无法生效
复现步骤 [清晰描述复现步骤,让别人也能看到问题]
config.json
main.go
期望结果 [描述你原本期望看到的结果]
期望输出: alioss 实际输出: ""
复现代码 [提供可复现的代码,仓库,或线上示例]
版本信息:
其他信息 [如截图等其他信息可以贴在这里]
Use(e)内部调用eng.initSiteSetting(), 进而调用eng.config.Update, 然后在 eng.config.ToMap()位置,ToMap方法实现缺失了FileUploadEngine字段的映射,进而在eng.config.Update方法实现内部,获取"file_upload_engine"字段为空,覆盖了原先从Configuration.json读取到的值。