【发布时间】:2019-06-15 00:58:29
【问题描述】:
我正在 Golang 中构建一个微型 GCP 云函数,当通过 HTTP 调用它时,它会返回一个生成的 PNG 文件。我通过 Google Cloud Console 中的 ZIP-Upload 部署了我的代码。 目前它被正确调用并且代码被编译等等。但是在我的代码中我必须加载几个本地文件 - 一个字体和一个 .png 图像。 我在上传的 ZIP 中捆绑了这些文件,这些文件在 GCP 的源视图中可见。所有文件(图像、字体和 go-files)都在同一个目录中。
调用云函数时,日志会显示以下内容:
2019/01/21 14:59:31 open /english.png: no such file or directory
我试图改变构建文件路径的方式。我已经静态使用了 /german.png,尝试了几次动态构建路径。
我不能 100% 确定这是否可行,但这是我第一次尝试“无服务器”,我愿意以“正确”的方式完成它。
import "github.com/fogleman/gg"
func main() {
ex, err := os.Executable()
if err != nil {
panic(err)
}
executableDir := filepath.Dir(ex)
img, err :=gg.LoadPNG(path.Join(executableDir, "./english.png"))
if err != nil {
log.Fatal(err)
}
}
目前在我所做的任何尝试中都找不到该文件。也许图像“部署”到的路径与我尝试的路径不同 - 我在文档中没有找到任何关于它的注释。 我显然希望它能够正确加载。
【问题讨论】:
标签: go google-cloud-platform google-cloud-functions