我正在 Golang 中构建一个微型 GCP 云函数,它在通过 HTTP 调用时返回生成的 PNG 文件。我在 Google Cloud Console 中通过 ZIP-Upload 部署了我的代码。目前它被正确调用并且代码被编译等。但是在我的代码中我必须加载几个本地文件 - 一个字体和一个 .png 图像。我将它们捆绑在我上传的 ZIP 中,这些文件在 GCP 的源视图中可见。所有文件(图像、字体和 go 文件)都在同一目录中。
调用云函数时,日志说明如下:
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)
}
}
目前我所做的任何尝试都找不到该文件。也许图像“部署”到的路径与我尝试过的路径不同——我没有在文档中找到任何关于此的注释。我显然希望它能正确加载。
12345678_0001
桃花长相依
紫衣仙女
相关分类