2 回答
TA贡献1817条经验 获得超6个赞
您不应该使用 Go 处理程序来提供静态文件(除非您想合并其他逻辑,例如高级日志记录或计数)。
您可以在应用程序的配置文件中定义静态文件处理程序app.yaml。这在官方文档中有详细说明:静态文件处理程序
静态文件是针对给定 URL 直接提供给用户的文件,例如图像、CSS 样式表或 JavaScript 源文件。静态文件处理程序描述应用程序目录中的哪些文件是静态文件,以及哪些 URL 为它们提供服务。
为提高效率,App Engine 将静态文件与应用程序文件分开存储和提供。默认情况下,静态文件在应用程序的文件系统中不可用。这可以通过将
application_readable选项设置为 来更改true。静态文件处理程序可以通过两种方式定义:作为映射到 URL 路径的静态文件的目录结构,或者作为将 URL 映射到特定文件的模式。
要使 AppEngine 自动提供静态文件,请将此条目添加到您的app.yaml:
- url: /tr static_files: testRoute.html upload: testRoute.html
要自动提供整个静态文件目录(包括子文件夹,递归),请将此条目添加到app.yaml:
- url: /assets static_dir: assets
TA贡献2003条经验 获得超2个赞
我使用 ServeFile 方法修复了这个问题;这也适用于文件夹(例如“/assets/testRoute.html”)
func testRoute(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, "testRoute.html")
}
- 2 回答
- 0 关注
- 238 浏览
添加回答
举报
