我正在使用 playframework v2,并且我的站点地图文件每天由外部进程重新创建一次。它们都在资产文件夹/站点地图中
如何强制 playframework 直接从磁盘返回文件?
我正在使用 playframework v2,并且我的站点地图文件每天由外部进程重新创建一次。它们都在资产文件夹/站点地图中
如何强制 playframework 直接从磁盘返回文件?
您应该获取文件(从磁盘或 WS)并在经典动作中呈现内容,然后使用注释设置缓存:
@Cached(key="sitemap", duration=86400)
public static Result index() {
// ... set sitemap variable from your file
return ok(siteMap);
}
http://www.playframework.org/documentation/2.0/JavaCache
或者,您可以通过工作实现相同的行为。
把它放在 /public 文件夹中。来自那里的资源不会被任何控制器拦截/处理,等等。
因此,如果您将文件放入文件夹 /public/sitemaps/sitemap.xml,它将以 yoursite.com/public/sitemaps/sitemap.xml 的形式提供