我在使用ColdFusion进行服务器到服务器调用时遇到了问题。
假设我有两个服务器,每个服务器都有一个文件:
www.Content.com/webpage.cfm
www.Badge.com/badge.jpg
我的源代码如下所示:
<cfdocument format="pdf" pagewidth="11" pageheight="8.5">
This is a simple PDF that was created to show issues with content generation on the server. This PDF uses an http:// reference to the badge server to show an image of a badged team member.
<BR />
<BR />
<img src="https://www.badge.com/badge.jpg" />
</cfdocument>如果我删除CFDOCUMENT标记,页面将完美呈现,并且JPG图像显示完全正确。但是,当我将页面呈现为PDF时,文档不包含JPG文件,并且在图像应该出现的地方出现了一个又大又难看的红色X。
我的网站管理员建议,虽然用户可以在徽章和内容上进行身份验证,但徽章服务器可能不会对内容进行身份验证,反之亦然。如何指示coldfusion从当前登录的用户获取用户权限并拉取映像?
我研究了使用CFIMAGE并将图像文件保存到内容RAM中,然后在PDF呈现之前将图像写入一个变量。这似乎会产生一个bug。
提前感谢您的反馈。
发布于 2012-05-17 23:07:12
图像总是不同的吗?否则,您可能希望将图像保存在本地服务器上,并使用attribute localURL
http://www.ravenglass.com/blog/index.cfm/2010/6/9/Including-Images-in-a-PDF-created-in-CFDOCUMENT
另一种可能是CF不信任SSL。您可以尝试使用CFHTTP获取该图像URL,您将知道是否是这种情况。请参阅:Coldfusion: CFHTTP with SSL encrypted Page (https://) - got an error
发布于 2012-05-19 03:44:26
CFHTTP不需要通过URL抓取图像并将其保存到本地。试试这个:
<cfscript>
myImg = imageRead("http://i.mycommentspace.com/23/2371.jpg") ;
imageWrite(myImg,"c:\myimage.jpg",0.8);
</cfscript>顺便说一句,当您使用本地路径时,CFDOCUMENT中的图像往往工作得最好,所以一旦您抓取了图像,请尝试,例如<img src="c:/myimage.jpg" />
发布于 2016-12-28 07:31:17
对于https,localUrl="yes" (或=true)会失败,而CF为https生成pdfs是非常繁琐的。
<img src="file:\\\#replace(getCurrentTemplatePath(),"my.cfm")#images\my.png">您必须遍历上下目录才能到达您的\images文件夹。
https://stackoverflow.com/questions/10637542
复制相似问题