如何修复Coldfusion cfcontent中的属性验证错误(java.string.lang不支持变量类型)?
我有一个Coldfusion应用程序,在其中生成HTML服务器端、压缩、手动gzip并作为cfcontent返回 看起来像这样:如何修复Coldfusion cfcontent中的属性验证错误(java.string.lang不支持变量类型)?,java,coldfusion,error-handling,gzip,binary-data,Java,Coldfusion,Error Handling,Gzip,Binary Data,我有一个Coldfusion应用程序,在其中生成HTML服务器端、压缩、手动gzip并作为cfcontent返回 看起来像这样: <cfsavecontent variable="renderedResults"> <cfoutput><p>Hello World</p></cfoutput> </cfsavecontent> <cfscript> compressedHTML = reRepl
<cfsavecontent variable="renderedResults">
<cfoutput><p>Hello World</p></cfoutput>
</cfsavecontent>
<cfscript>
compressedHTML = reReplace(renderedResults, "\>\s+\<", "> <", "ALL");
compressedHTML = reReplace(compressedHTML, "\s{2,}", chr(13), "ALL");
compressedHTML = reReplace(compressedHTML, "\s{2,}", chr(09), "ALL");
</cfscript>
<cfif cgi.HTTP_ACCEPT_ENCODING contains "gzip">
<cfinvoke component="services.utils" method="gzip" stringToZip="#compressedHTML#" returnvariable="compressedHTML"></cfinvoke>
<cfheader name="Content-Encoding" value="gzip">
</cfif>
<cfheader name="Content-Type" value="text/html; charset=ISO-8859-1">
<cfheader name="Content-Length" value="#len(compressedHTML)#" >
<cfcontent reset="no" variable="#compressedHTML#" />
<cfreturn />
你好,世界
compressedHTML=reReplace(renderedResults,“\>\s+\尝试将变量转换为二进制,然后使用函数将其传递给cfcontent,如下所示
<cfcontent reset="no" variable="#ToBinary(compressedHTML)#" />
所以我想我必须检查我是否已经编码,如果没有,就用你的代码片段。听起来不错。如果我需要的时候能重现我的错误就好了。。。
<cfcontent reset="no" variable="#ToBinary(compressedHTML)#" />