Lucee中的图

时间:2019-04-10 18:12:36

标签: coldfusion lucee

我将CFCHART与Lucee一起使用时看到错误。相同的代码在CF中工作。但是在Lucee中,它尝试引用lucee文件夹中的graph.cfm文件。

mytestserver.com/lucee/graph.cfm?img=026f01d7b8c85b891a9c35c102623747&type=png 

我需要创建任何映射吗?此映射应该在Lucee admin中还是在IIS中?

1 个答案:

答案 0 :(得分:0)

简短的回答是:不需要,您不需要在 IIS、Lucee 或 Tomcat 中添加任何额外的映射。

我在这里看到这个问题太久了,所以我在这里给出一个答案,以阐明 Lucee 的 graph.cfm。

CFML 中的一些标签需要创建额外的图像文件,以便稍后将它们作为内联 HTML 元素嵌入到重新渲染的输出中。此类文件创建的示例是 <cfimage type="captcha" ...> 或您在问题中已经指出的,<cfchart>

为了实现这样的功能,Lucee 需要在某处临时创建这些文件,并使它们公开可用。为了为 cfimage/cfchart 实现这一点,Lucee 在您的 webroot 的 web 上下文文件夹(通常位于 path-to-your-webroot\WEB-INF\lucee\temp\graph )中创建文件,并将它们嵌入到 graph.cfm 的链接中。模板 graph.cfm 只是从该文件夹中读取临时文件,并将其实时传送到您的应用程序。

如果你想看看 Lucees 的原始 graph.cfm,我们可以看一看,感谢 OpenSource: source of Lucees graph.cfm at github

为了使文件和模板 graph.cfm 暂时公开可用,顺便说一下,它位于 WEB-INF 文件夹后面(出于安全原因,该文件夹在 Tomcat 中也被默认隐藏/阻止),Lucee 必须有一个虚拟映射。但是你不需要设置它,因为这些默认已经设置好了。您可以在下面的图片中看到这一点,该图片取自 Lucee Administrator 的“映射”部分:

enter image description here

因为 graph.cfm 是一个 .cfm 文件,IIS 将通过每个 AJP 实现的 CFML 连接器(可能是 Boncode 连接器)直接将请求重定向到 Tomcat。因此,您也不需要在 IIS 中设置任何映射。

因为您没有提交任何额外的错误信息,例如 http 错误代码或堆栈跟踪,我不知道可能是什么原因导致您的错误。如果您将其提交给 Lucee 核心团队,也可能是一些不兼容问题。

另一种可能是,许多安装指南建议您使用 IIS URL Rewrite Module 锁定“/lucee/”路径,因为这也是 Lucee Administrator 所在的路径。如果是这样,您可以更改 IIS 重写规则中的设置并以这样的方式调整规则,使其不会阻止 graph.cfm。

同样重要的是要注意,许多这些 cftag 是作为 Lucee 扩展名(.lex 文件)实现的。这些不一定是预装或预安装在 Lucee 中,但您可以在 Lucee Administrator 中安装它,或者从 Lucees 下载站点获取它们,然后通过您的 Lucee Administrator 在“扩展”部分上传。