Вы также можете прочитать эту недавнюю ветку об этом скрипте.Как подсказывает valums, вы должны иметь возможность извлекать двоичные данные из getHttpRequestData (). Content (при необходимости).
В моих очень ограниченных тестах, это, казалось, работало нормально с IE8 /FF / Chrome / Opera.Однако мне не повезло с Safari (windows).Казалось, что данные запроса были искажены (или, возможно, неправильно интерпретированы CF?).Таким образом, окончательный заголовок типа контента, о котором сообщает CF, был неверным, что вызвало ошибку http 500.Конечно, я не проверял это всесторонне.
Вот мой быстрый и грязный тестовый скрипт (хромает по замыслу ...)
<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>