首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cfdocument中来自二进制的cfimage

cfdocument中来自二进制的cfimage
EN

Stack Overflow用户
提问于 2013-06-28 19:33:34
回答 1查看 1.3K关注 0票数 1

我正在动态地编写PDF,并为eTicketing目的在文档上创建QR代码。

我将cfdocument localurl=yes设置为包含一个不同的映像,这很好,但是由于我使用API调用来获取qrCode的二进制文件,使用cfimage显示图像,所以它只显示一个红色的X。

代码语言:javascript
复制
<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中之前,它生成一个像http://mysite/CFFileServlet/_cf_image/_cfimg-7945382145198648283.PNG这样的url作为图像源。

我确信这与localurl和file:///,有关,我只是一个不了解原因的人。

EN

回答 1

Stack Overflow用户

发布于 2013-06-29 03:24:28

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

请注意,它不应该以根路径开始,而应该相对于您的文件。

更新

将文件内部写入硬盘到它的临时位置( C:\ColdFusion10\cfusion\tmpCache\CFFileServlet),并在将其呈现给浏览器时使用相对路径(如"/CFFileServlet/_cf_image/_cfimg1592404668342998556.PNG",)--您可以说ColdFusion内部将CFFileServlet目录映射到所有coldfusion,但注意前面的正斜杠,这使localurl=true出现问题。因为localurl=true要么需要物理路径,要么需要与文档的相对路径。

好主意是代替写浏览器,你可以写相同的图像到硬盘驱动器在您的位置,并给出物理路径的img标签。我不这样做,因为当您使用writetobrowser属性时,ColdFusion在内部执行相同的操作,因此不会出现任何性能问题:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17372320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档