图像未显示在cfdocument中

时间:2011-05-24 10:41:44

标签: image dynamic coldfusion cfdocument

几天前我发现了一个好奇的情况,我在发脾气后能够解决这个问题。

问题是我将图像放在动态创建的pdf中(使用cfdocument)。当我在本地运行我的网站时,我能够看到图像。但是一旦我将代码上传到prod,我就会在图像占位符处获得损坏的图像。

2 个答案:

答案 0 :(得分:3)

接受Al everett的建议,简要解决了问题。未显示图像的问题是由于文档的HTTPS访问和未下载的图像。所以我使用了下面的工作:

<cfdocument format="pdf">
 <cfoutput>
 Some html content
 <br>
 <img src=#localUrl("img1.gif")#><br>
 <img src=#localUrl("images/img.jpg")#>
 </cfoutput>
</cfdocument>

<cffunction name="localUrl" >
 <cfargument name="file" />
 <cfset var fpath = ExpandPath(file)>
 <cfset var f="">
 <cfset f = createObject("java", "java.io.File")>
 <cfset f.init(fpath)>
 <cfreturn f.toUrl().toString()>
</cffunction>

答案 1 :(得分:1)

这通常是由内部路径与外部路径引起的。您可能引用了URL中的域,该域可能在内部无效。一种解决方案是更新服务器的主机文件,以包括所有有效域及其内部网络IP等价物。然后,当在服务器上请求域时,将引用内部IP而不是无效的外部IP。

http://www.google.com/search?q=host+file+internal+domain