如何解决我可以通过 golang 中的 http.FileServer 提供存储在 Google Cloud Storage 中的文件吗?
我开发了一个在 golang 中运行 web 服务器的小型 web 应用程序。 每个用户都可以登录,查看他们的文档列表(之前上传的)并点击一个项目来查看一个 html 页面,该页面显示了文档的一些字段以及一个带有 src 属性的标签
src 属性包含一个 url,如“mydocuments/download/123-456-789.pdf”
在服务器端,我通过 http 处理程序处理 URL(“mydocuments/download/*”)
mymux.HandleFunc(pat.Get("/mydocuments/download/:docname"),DocDownloadHandler)
哪里:
fileServer := http.StripPrefix("/mydocs/download/",http.FileServer(http.Dir("/the-real-path-to-documents-folder/user-specific-folder/)))
当然还有我提供文件
fileServer.ServeHTTP(w,r)
重要提示:存放文件的目录不是我为网站申请的static-files目录,而是用户上传后所有文件结束的目录。
我的问题 当我尝试将代码转换为也在 Google Cloud 上运行时,我正在尝试更改代码,以便将文件存储在存储桶中(或者,更好地存储在“子目录”中 -因为它们没有正确存在 - 一个桶)。
如何修改代码,以便通过云存储桶映射可用的真实文档 url? 我还可以使用上面的 http.FileServer 技术吗(如果可以,我应该使用什么代替 http.Dir 来映射存储文档的存储桶“子文件夹”路径)?
我希望我已经足够清楚地解释了我的问题... 对于任何不清楚的地方,我提前道歉......
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。