Coldfusion GetHttpRequestData()?
有人举过Coldfusion的GetHttpRequestData()的工作原理的例子吗?我希望使用此func保存AJAX上载脚本中的数据: 该脚本可以在FireFox中使用,但不能在Safari、Chrome等浏览器中使用 想法?你有什么错误 也许这些链接会有所帮助:Coldfusion GetHttpRequestData()?,coldfusion,xmlhttprequest,Coldfusion,Xmlhttprequest,有人举过Coldfusion的GetHttpRequestData()的工作原理的例子吗?我希望使用此func保存AJAX上载脚本中的数据: 该脚本可以在FireFox中使用,但不能在Safari、Chrome等浏览器中使用 想法?你有什么错误 也许这些链接会有所帮助: 您想研究使用cffile with action=“upload”上传文件:GetHttpRequestData()用于解码协议,如SOAP、XML-RPC和一些更复杂的REST-ful协议。HTTP文件上载通常使用multi
您想研究使用cffile with action=“upload”上传文件:GetHttpRequestData()用于解码协议,如SOAP、XML-RPC和一些更复杂的REST-ful协议。HTTP文件上载通常使用multipart/form数据MIME类型作为POST完成。看一下,GetHttpRequestData()似乎没有对多部分数据的任何特殊支持,这意味着您必须自己拆分和解码这些部分。这不是我的意思,如果你只是上传文件,那就完全没有必要了
或者(对于CF9来说是新的)应该足以处理文件上传,即使是通过AJAX上传脚本完成的上传。您可能还想阅读关于该脚本的文章。正如valums所建议的,您应该能够从getHttpRequestData()内容中提取二进制数据(在需要时) 在我非常有限的测试中,它似乎可以与IE8/FF/Chrome/Opera配合使用。然而,我在Safari(windows)上运气不佳。看起来请求数据被弄乱了(或者可能被CF误解了?)。因此CF报告的最终内容类型标头不正确,导致http 500错误。当然,我没有对此进行广泛的测试 这是我的快速而肮脏的测试脚本(设计上很蹩脚…)
{“成功”:真的}
{error:“#上传错误#”}
<cfset uploadError = "" />
<cfif structKeyExists(FORM, "qqFile")>
<!--- upload as normal --->
<cffile action="upload" filefield="qqFile" destination="c:/temp" />
<cfelseif structKeyExists(URL, "qqFile")>
<!--- save raw content. DON'T do this on a prod server! --->
<!--- add security checks, etc... --->
<cfset FileWrite( "c:/temp/"& url.qqFile, getHttpRequestData().content) />
<cfelse>
<!--- something is missing ...--->
<cfset uploadError = "no file detected" />
</cfif>
<!--- return status old fashioned way (for compatibility) --->
<cfif not len(uploadError)>
{"success": true}
<cfelse>
<cfoutput>{error": "#uploadError#"}</cfoutput>
</cfif>