在Coldfusion CFC中接收上传的文件

时间:2013-12-19 10:20:37

标签: javascript jquery file-upload coldfusion

我有一个Backbone前端,它正在发送带有上传文件的Restful调用到Coldfusion后端。

我需要知道如何在文件到达我的CFC后“获取”该文件。不幸的是我对是否发送文件有一些疑问,我的POST很好,并从CFC返回一个基本字符串,所以我知道这是有效的。

POST有效负载看起来像这样

------WebKitFormBoundarymjCH1xJJ2D10ncj8
Content-Disposition: form-data; name="qqfile"; filename="Jellyfish.jpg"
Content-Type: image/jpeg


------WebKitFormBoundarymjCH1xJJ2D10ncj8--

我正在使用jquery FineUploader发送请求。

我目前正在使用它来尝试在CFC端获取文件。

<cfcomponent displayname="import"
             rest="true" 
             restPath="/import">

    <cffunction name="import" 
                access="remote" 
                httpMethod="POST"
                produces="application/json"
                returntype="string">

        <cfset local.testResponse= "Response">
        <cfset local.testDebug= "Test Debug">
        <cfif IsDefined("Form.UploadFile") AND Form.UploadFile NEQ "">
            <cfsavecontent variable="local.debugInfo">
                <cfdump var="#local.testDebug#">
            </cfsavecontent>
            <cffile action="write" file="c:\Coldfusion10\cfusion\wwwroot\backend\debugInfo.html" output="#local.debugInfo#">
        </cfif>

        <!--- GET THE FILE SENT WITH THE AJAX CALL AND DO SOMETHING --->

        <!--- Here we should return some JSON that has a success value? --->
        <cfreturn local.testResponse>

    </cffunction> 


</cfcomponent>

我认为这里可能缺少一些概念,所以我不确定如何真正说出这个问题。道歉...

1 个答案:

答案 0 :(得分:1)

这是知识问题,而不是任何真正的技术难题。我的文件被正确发送,在我用过的请求的Coldfusion端“拿起”一个文件。

          <cffile 
            action = "upload"
            destination = "C:\ColdFusion10\cfusion\wwwroot\tempFiles\"
            accept = "image/jpeg, application/xlsx"
            nameConflict = "overwrite"
            result="myFile"
          >

感谢阳光明媚的指针