我正在使用cfcontent从网络外部传输图像。当在浏览器中直接调用各种页面时,图像显示正确,而图像在生成的pdf中显示红色X.在导出页面上:
<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 =“yes”,因为默认值(no)不起作用。明确设置为“no”也不起作用。
有什么建议吗?
答案 0 :(得分:1)
你有&#39; localUrl&#39;设置为yes,这意味着Coldfusion将查看图像中的文件路径并尝试在硬盘上找到它们而不进行HTTP或HTTPS调用,因此它尝试打开路径ToDisplayPhoto.cfm?image =#someImage #&#39;作为一个图像,但由于它不是HTTP请求,它不会获得CFML。
如果您将loclUrl设置为No以解决问题。
cfdocument ref - 在参数列表中查找localUrl。
答案 1 :(得分:1)
我正在保存创建的pdf,但发现localUrl="yes"
(或=true
)失败。
<img src="file:\\\#replace(getCurrentTemplatePath(),"my.cfm")#images\my.png">
为任何人挖掘桶底部的想法。 getCurrentTemplatePath()获取文件名和路径,所以我不得不删除它(因此替换(...,“my.cfm”)。我也尝试了expandPath(“。”),但也失败了。 / p>