我正在做一個位於coldfusion8/mysql 5.0.88
的網站,前端位於Jquery Mobile。我還使用了photoswipe.js插件,該插件允許圖像在單獨的視圖圖層中縮放和瀏覽。使用cfimage和cfxml時防止內存泄漏?
要設置photoswipeable圖像,我需要輸出
<cfoutput>
<a class="swipeMe" rel="external" href="#variables.imageSrc#">
<img src="#variables.imageSrc#" class="adaptImg ui-li-thumb" />
</a>
</cfoutput>
問題是imageSrc
由用戶提供的,所以必須抓住/驗證/顯示之前調整圖像的大小,我需要的路徑圖片爲photoswipe鏈接。
我一直在擺弄這個了一會兒,並用以下解決方案上來:
// read img from user specs
<cfimage name="myImage" source="#bildpfad##bilddateiname#" action="read" />
<cfif IsImage(myImage) is true>
// resize
<cfscript>
ImageSetAntialiasing(myImage,"on");
variables.breite = 400;
ImageScaleToFit(myImage, variables.breite,"", "highestPerformance");
</cfscript>
// write to xml, so I can get the path
<cfxml variable="imageXml">
<cfimage quality=".5" action="writetobrowser" source="#myImage#" class="adaptImg ui-li-thumb"/
</cfxml>
<cfset variables.imageSrc = imageXml.xmlRoot.xmlAttributes.src>
// output
<cfoutput>
<a class="swipeMe" rel="external" href="#variables.imageSrc#">#imageXml#</a>
</cfoutput>
</cfif>
雖然這個作品它幾乎攤位應用和記憶似乎泄漏爲好,因爲我失去越來越多的記憶,因爲我正在運行這個。
問題:
是否有與上面的代碼導致內存泄漏任何明顯的問題?我想象中的圖像正在寫入某種臨時目錄(CFFileservelet?),並停留一段時間阻止我的記憶。如果是這樣,在圖像搜索中處理這個問題的替代方法是什麼?
謝謝!
我不知道它與i相關,但是class屬性未在CFML中列爲有效屬性cs爲CFIMAGE標籤。此代碼是否工作但掛起?或只是掛? – Dpolehonski
它的工作原理。我還設置了'id'和'title'以及除了class之外的自定義'data-xyz'屬性。我在某處讀到你可以爲cfimage添加屬性。讓我看看我是否找到鏈接。去[這裏](http://www.bennadel.com/blog/846-Styling-The-ColdFusion-8-WriteToBrowser-CFImage-Output.htm) – frequent