如何指定gorm结构文件的路径

oewdyzsn  于 2023-10-14  发布在  Go
关注(0)|答案(1)|浏览(122)

我有一个Products结构:

type Products struct {
    gorm.Model
    CategoriesRefer   int64      `json:"cat_id" gorm:"column:cat_id"`
    Title             string     `json:"title" gorm:"column:title"`
    ...
    Image             string     `json:"image" gorm:"column:image"`
}

JSON请求将包含path to the image,它存储在我项目的另一个文件夹中(而不是在db文件夹中),我如何在结构中指定它?

8ehkhllq

8ehkhllq1#

我相信这样的东西应该会起作用。

package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    ex, err := os.Executable()
    if err != nil {
        panic(err)
    }
    exPath := filepath.Dir(ex)
    imagePath := fmt.Sprintf("%s/../photos", exPath) // change photos to correct directory name
    fmt.Println("imagePath:", imagePath)
}

然而,正如在评论中提到的,这不是一个好主意,因为它将相对于编译的二进制可执行文件所在的目录。您可能希望使用类似环境变量的东西来控制此目录。这样,您可以将其设置为不同的目录,用于测试,开发,生产等。

相关问题