我在根目录中有一个带有main.go文件的图像文件。当golang api托管在Google云上时,我如何获得提供文件的路径(似乎所有文件都托管在Google云上时会变得混乱)。这是现在使用的代码 im:func ServeImage(w http.ResponseWriter, r *http.Request) { params := mux.Vars(r) ex, err := os.Executable() if err != nil { panic(err) } executableDir := filepath.Dir(ex) //TODO error file, err := os.Open(path.Join(executableDir, "/"+params["name"])) if (err != nil) { http.Error(w, err.Error(), http.StatusBadRequest) fmt.Println(err) } defer file.Close() http.ServeContent(w, r, "image", time.Now(), file)}我从中得到的错误是:open /layers/google.go.build/bin/_DSC7451.jpeg: no such file or directoryseeker can't seek
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
如果您使用的是应用程序引擎,那么您实际上无法访问文件系统。https://cloud.google.com/appengine/docs/standard/runtimes
您应该使用云存储来写入和读取文件。这将允许在任何给定时间可能正在运行的所有服务实例中访问您的文件。
- 1 回答
- 0 关注
- 45 浏览
添加回答
举报
0/150
提交
取消