首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFML2WDDX误差ColdFusion 11

CFML2WDDX误差ColdFusion 11
EN

Stack Overflow用户
提问于 2015-03-31 16:45:58
回答 1查看 376关注 0票数 3

我正在使用CFM2WDDX来转换CF11中的数组,但是我得到了以下错误:

coldfusion.tagext.validation.WddxValidator$InvalidWddxPacketException:无效的WDDX数据包。

我在这里使用这个代码:

getFileList.cfm

代码语言:javascript
复制
<cfsetting enablecfoutputonly="Yes">
<cfset thisdir = ExpandPath(".\")>
<cfdirectory directory="#thisdir#" action="LIST" name="imagefiles" recurse="No">
<cfscript>
// get .gif|.jpg|.png files from the cfdirectory query...
numRows = imagefiles.recordcount;
imageFileArray = ArrayNew(1);
for (row = 1; row LTE numRows; row++) {
    if (refindnocase("(.gif|.jpg|.png)",imagefiles.name[row]) neq 0) {
        ArrayAppend(imageFileArray, imagefiles.name[row]);
    }    
}
</cfscript>
<cfwddx action="cfml2wddx" input=#imageFileArray# output="wddxText">
<cfoutput>#wddxText#</cfoutput>

如您所见,代码创建了一个图像名称数组,然后我将通过cfhttp访问该数组,以完成任何我需要的操作。在CF9服务器上,我有相同的精确代码和相同的目录内容,并且按其应有的方式工作,但在CF11中,我会收到格式化错误。CF11中的这一特性是否发生了某种改变?

这是我用来访问上面代码的代码:

代码语言:javascript
复制
<cfhttp url="http://example.com/images/ClientLogos/getFileList.cfm" method="GET" timeout="10" throwonerror="Yes">
    <cfwddx action="WDDX2CFML" input="#trim(cfhttp.filecontent)#" output="imageArray" validate="true">
    <cfreturn imageArray>

getFileList.cfm位于与映像相同的目录中,因此它在本地服务器上执行,在本地服务器上调用。(这就是为什么我认为CF11可能是问题所在)

来自CF9的部分输出:

以及CF11的部分输出:

来自CF 11的CFHTTP.Header:

代码语言:javascript
复制
HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Server: Microsoft-IIS/8.0 X-Powered-By: ASP.NET Access-Control-Allow-Origin: * Date: Tue, 31 Mar 2015 18:50:35 GMT Connection: close Content-Length: 10807 

来自CF 9的CFHTTP.Header:

代码语言:javascript
复制
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Vary: Accept-Encoding Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Tue, 31 Mar 2015 18:51:20 GMT Connection: close
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-31 20:36:45

我不知道是什么导致了这种行为,但我现在找到了一个中间立场。我没有通过cfhttp调用getFileList.cfm,而是将代码从getFileList.cfm直接移到函数中,一切都正常。该文件开始时的原因是允许我访问另一台服务器上的外部映像回购,我不再需要/使用该服务器。无论如何,这可能实际上是一个CF11错误,所以我们将在未来看到.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29374012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档