最近项目有一个需求,产品配置好excel后,需要写入数据库及图片资源上传到OSS,
读取excel的数据
写入数据库
通过读取到的数据,如果涉及到图片等资源,需要上传到OSS
我们先看下一个代码实例,读取文件的:
代码语言:javascript复制 package main
import (
"fmt"
"os"
"path/filepath"
"strings"
)
var (
ostype = os.Getenv("GOOS") // 获取系统类型
)
var listfile []string //获取文件列表
func Listfunc(path string, f os.FileInfo, err error) error {
var strRet string
strRet, _ = os.Getwd()
//ostype := os.Getenv("GOOS") // windows, linux
if ostype == "windows" {
strRet = "\"
} else if ostype == "linux" {
strRet = "/"
}
if f == nil {
return err
}
if f.IsDir() {
return nil
}
strRet = path // "rn"
//用strings.HasSuffix(src, suffix)//判断src中是否包含 suffix结尾
ok := strings.HasSuffix(strRet, ".go")
if ok {
listfile = append(listfile, strRet) //将目录push到listfile []string中
}
fmt.Println(strRet) //list the file
return nil
}
func getFileList(path string) string {
err := filepath.Walk(path, Listfunc) //
if err != nil {
fmt.Printf("filepath.Walk() returned %vn", err)
}
return " "
}
func ListFileFunc(p []string) {
for index, value := range p {
fmt.Println("Index = ", index, "Value = ", value)
}
}
func main() {
var listpath string
fmt.Scanf("%s", &listpath)
getFileList(listpath)
ListFileFunc(listfile)
}
上面例子是来自网上,主要是读取特定.go文件。
项目中的结构如下:
config:配置文件,excel文件
db数据库的操作
excel关于excel的读写
file关于资源文件读取
img存放图片资源
oss关于oss上传操作
rescource关于读取配置文件的逻辑