【问题标题】:Receiving an uploaded file in a Coldfusion CFC在 Coldfusion CFC 中接收上传的文件
【发布时间】:2013-12-19 10:20:37
【问题描述】:

我有一个 Backbone 前端,它将带有上传文件的安静调用发送到 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>

我认为我可能在这里遗漏了一些概念,所以我不确定如何真正说出这个问题。抱歉...

【问题讨论】:

  • 我已尽我所能,但我得到“表单字段 formTest 不包含文件。”我实际上并没有提交过我不认为的表单,因为我正在使用 jquery 上传器,所以这可能是问题所在。当然,我不必发送表格,或者这只是coldfusion处理发送文件的方式?

标签: javascript jquery file-upload coldfusion


【解决方案1】:

这是知识问题,而不是任何真正的技术难题。我的文件已正确发送,以便在我使用此请求的 Coldfusion 端“提取”一个文件。

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

感谢sunny的指点

【讨论】:

  • 我建议不要将文件上传到这样的网络可访问位置。这是一个安全风险。最佳实践方法是先上传到完全在 Web 根目录之外的文件夹,验证上传的文件没有恶意,然后如有必要移动到 Web 可访问的位置。
猜你喜欢
  • 2017-02-24
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多