从cfdocument二进制cfimage(cfimage from binary in cfdoc

2019-10-18 07:28发布

我动态写一个PDF,和我的文档创建一个QR码电子票务的目的

我把我的cfdocument localurl = yes以包含不同的图像,这工作得很好,但因为我使用的API调用来获取的QR码二进制,使用该cfimage显示图像,它只是显示一个红色的X

<cfdocument format="PDF"  overwrite="Yes" localUrl="yes" pageType = "letter">
<body>
<cfoutput>
<section id="header">

<img src="file:///#ExpandPath('images/header.png')#"/>
<cfimage action="writeToBrowser" source="#rc.qrCode#" />
</cfoutput>
</body>
</html>
</cfdocument>

源变量rc.qrCode是直到我内部cfdocument地方工作完全二元响应,它生成这样的URL http://mysite/CFFileServlet/_cf_image/_cfimg-7945382145198648283.PNG作为图像源

我相信这有待办事项与localurl和文件:///,我只是没有足够的见地知道为什么

Answer 1:

不需要使用物理路径,而使用相对路径到您的网页。 例如,如果你在图片文件夹内的根文件夹和图像的编码index.cfm

尝试<IMG SRC =“图像/ header.png”>,请注意,它不应该,而相对于你的文件根路径开始。

UPDATE

writetoBrowser内部文件写入硬盘驱动器,它的临时位置(局部,C:\ ColdFusion10 \ cfusion \ tmpCache \ CFFileServlet),而它渲染到浏览器,它使用类似“/CFFileServlet/_cf_image/_cfimg1592404668342998556.PNG”相对路径,你可以说这ColdFusion的内部地图与所有ColdFusion站点CFFileServlet目录,但另行通知领先的正斜杠,这使得问题与localurl =真。 由于localurl = TRUE要么需要物理路径或相对路径到您的文档。

好主意是不是writetobrowser你可以写相同的图像到您的所在地硬盘并给予img标签的物理路径。 我不知道这会有因为ColdFusion的内部在做同样的事情,当你正在使用writetobrowser属性的任何性能问题:)



文章来源: cfimage from binary in cfdocument