一、概述
1、问题&思路
问题:在本地通过上传文件,然后将文件推送到aliyun的oss中,是没问题的
但是部署到了k8s中,则出现了问题,一直报错没有创建的权限
思路:开始认为应该将该文件挂载到configmap中,然后通过这种方式修改了deployment和dockerfile。最终发现应该是go的创建文件路径方式搞错了,也说明docker的隔离的严谨性。
二、最佳实践
1、go-zero代码
1.1、desc 代码如下:
BaseInfo {
// ContractFile
ContractFile interface{
} `form:"contractFile,optional"`
}
这里说明一下:
- 这里我们需要使用 form 而不要使用 json
- 我们可以将类型定义为 interface{}