You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ColdFusion处理ChannelAdvisor GZIP Webhook:下载与读取方法咨询

处理ChannelAdvisor Webhook的GZIP编码POST内容(ColdFusion)

一、将GZIP内容保存到文件

直接利用getHTTPRequestData().content返回的二进制数据写入文件,不要尝试转成字符串(否则会出现乱码):

<!--- 获取请求的二进制内容 --->
<cfset requestData = getHTTPRequestData()>
<!--- 指定保存路径,可根据实际调整 --->
<cfset savePath = expandPath("./webhook_gzip_payload.gz")>
<!--- 写入二进制文件 --->
<cfset FileWriteBinary(savePath, requestData.content)>

二、读取并解压GZIP文件

通过Java的GZIP输入流处理文件内容,还原原始POST数据:

<cfset savePath = expandPath("./webhook_gzip_payload.gz")>

<!--- 初始化文件输入流和GZIP解压流 --->
<cfset fileStream = CreateObject("java", "java.io.FileInputStream").init(savePath)>
<cfset gzipStream = CreateObject("java", "java.util.zip.GZIPInputStream").init(fileStream)>
<cfset reader = CreateObject("java", "java.io.BufferedReader").init(CreateObject("java", "java.io.InputStreamReader").init(gzipStream))>

<!--- 读取解压后的内容 --->
<cfset payloadContent = "">
<cfset line = reader.readLine()>
<cfloop condition="line neq null">
    <cfset payloadContent &= line & chr(10)>
    <cfset line = reader.readLine()>
</cfloop>

<!--- 关闭流,释放资源 --->
<cfset reader.close()>
<cfset gzipStream.close()>
<cfset fileStream.close()>

<!--- 输出或使用解压后的内容 --->
<cfdump var="#payloadContent#">

内容的提问来源于stack exchange,提问作者Bettina Maria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:03:26