2012-08-15 49 views
1

我使用cfcontent从Web根外部流式传输图像。当在浏览器中直接调用各种页面时,图像显示正确,但图像在生成的PDF中显示一个红色的X.在出口页面:无法使用cfdocument/cfcontent包含pdf中的图像

<cfsavecontent variable = "gridCode"> 
    <cfinclude template="pathToGeneratedPage.cfm" >  
</cfsavecontent> 
<cfdocument format="pdf" filename="#filename#" overwrite="yes" localUrl="yes"> 
    <cfdocumentsection > 
     <cfoutput>#gridCode#</cfoutput>  
    </cfdocumentsection> 
</cfdocument> 

与内容的页面中产生:

<img src="pathToDisplayPhoto.cfm?image=#someImage#" /> 

在displayPhoto.cfm页:

<cfcontent type="image/*" file="#pathToUploadFolderOutsideWebRoot##url.image#" deleteFile = "No"> 

我包括cfdocument属性localUrl = “是”,因为默认(no)不起作用。明确设置为“否”也不起作用。

有什么建议吗?

+0

请问这个岗位帮助? http://stackoverflow.com/questions/4813587/dynamic-pdf-cfdocument-cfcontent-image-email-attachement – Travis 2012-08-15 13:47:27

+0

特拉维斯,你知道吗,我看到了线程,不管出于什么原因没我认为它适用于我的问题。但是,是的,使用而不是作品。谢谢!添加它作为答案,我会给你的观点:) – earachefl 2012-08-15 16:25:03

回答

1

您将'localUrl'设置为yes,这意味着Coldfusion将查看图像中的文件路径,并尝试在硬盘上找到它们而不进行HTTP或HTTPS调用,因此它试图打开'pathToDisplayPhoto。 cfm?image =#someImage#'作为Image,但因为它不是HTTP请求,所以它不会处理CFML。

如果您将loclUrl设置为No来解决问题。

cfdocument ref - 在params列表中寻找localUrl。

+0

谢谢...但添加localUrl =“是”是我试过的东西,因为使用默认(不)没有工作。明确设置为“否”不会产生影响。 – earachefl 2012-08-15 14:44:50

1

我保存创建的pdf并找到localUrl="yes"(或=true)失败。

<img src="file:\\\#replace(getCurrentTemplatePath(),"my.cfm")#images\my.png"> 

工作为任何人刮桶的想法的底部。 getCurrentTemplatePath()获取文件名以及路径,所以我不得不删除它(因此替换(...,“my.cfm”)。我也试过expandPath(“。”),并且失败了。

+0

我是桶刮,这真的帮助!常规方式在ACF中运行良好,但在Lucee中运行得不错。引用本地文件系统使其工作。 – steve 2015-04-30 15:51:25