2012-05-17 45 views
1

我有一個服務器與ColdFusion的服務器調用問題。Coldfusion CFDOCUMENT創建一個紅色X

假設我有兩臺服務器,每一個文件:
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呈現之前將圖像寫入變量。這似乎產生了一個錯誤。

非常感謝您的反饋。

回答

1

圖像總是不同嗎?否則,你可能希望保存圖像的服務器上本地,並使用屬性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

+0

我可以請求使用CFHTTP檢索圖像文件的例子嗎? adobe.com上的文檔是...參差不齊。 –

+0

@BradHines http://stackoverflow.com/questions/1536815/convert-an-image-from-cfhttp-filecontent-to-binary-data-with-coldfusion – Henry

1

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" />

+0

可能需要在前面使用'file:///'的路徑。 – gordon

0

localUrl="yes"(或=true)對於哪些CF生成PDF是痛苦挑剔的https失敗。

<img src="file:\\\#replace(getCurrentTemplatePath(),"my.cfm")#images\my.png"> 

你不得不介意遍歷上下目錄到你的\ images文件夾。

相關問題