我在cfdocument
内显示图片时遇到问题。我没有运气就尝试了几种不同的选择(请参阅下面的测试代码)。
似乎cfdocument
识别出那里有一个图像文件,因为表格单元格的大小发生了变化。然而它仍然没有显示图像的内容。
我将不胜感激任何帮助。
<cfdocument format="PDF" localURL = "yes">
<p style="background-color:#006633">
<table border="1">
<tr><td><cfoutput>
output from "file:///#ExpandPath('CEUCertificate_ABondy3.jpg')#"
</cfoutput>
</td>
<td style="background-color:white">
<cfoutput>
<image src="file:///#ExpandPath('CEUCertificate_ABondy3.jpg')#">
</cfoutput>
</td>
</tr>
<tr><td><cfoutput> output from #ExpandPath('CEUCertificate_ABondy3.jpg')# </cfoutput> </td>
<td>
<cfoutput>
<image src="#ExpandPath('CEUCertificate_ABondy3.jpg')#">
</cfoutput>
</td>
</tr>
<tr><td style="background-color:red">
Output from: img src="CEUCertificate_ABondy3.jpg"
</td>
<td style="background-color:red">
<img src="CEUCertificate_ABondy3.jpg"/>
</td>
</tr>
<tr>
<td style="background-color:white">
output from image src="CEUCertificate_ABondy3.jpg"
</td>
<td>
<cfoutput>
<image src="CEUCertificate_ABondy3.jpg">
</cfoutput>
</tr>
<tr>
<td>Output from local url</td>
<td>
<cfoutput>
<img src=#localUrl("CEUCertificate_ABondy3.jpg")#>
</cfoutput>
</td>
</tr>
</table>
</p>
</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>
答案 0 :(得分:1)
对于您的初始问题,您需要像在任何其他HTML页面中一样引用cfdocument
标记中的图像; <img src="url-to-the-image" />
。所以这对你有用。
<img src="/cde/mobileweb/CEUCertificate_ABondy3.jpg"/>
现在您已进行了更改,页面即将超时。这可能是由于图像的创建方式。 See this page here。这是我从Charlie's page here找到的。
尝试在编辑器中打开该图像并重新保存。然后看看处理时间是否减少。
我在Ben Nadel's blog here上找到了关于此问题的更多讨论。
答案 1 :(得分:0)
不要乱用ExpandPath()
和file://
,而是将其编码为普通的html,并确保它首先运行。然后在localUrl="true"
<cfdocument>