Javascript 在Coldfusion CFC中接收上载的文件
我有一个主干前端,它通过上传的文件向Coldfusion后端发送restful调用 我需要知道一旦文件到达我的CFC,如何“获取”该文件。不幸的是,我对文件是否被发送有一些疑问,我的帖子运行良好,并从CFC返回了一个基本字符串,因此我知道这是有效的 POST有效载荷如下所示Javascript 在Coldfusion CFC中接收上载的文件,javascript,jquery,file-upload,coldfusion,Javascript,Jquery,File Upload,Coldfusion,我有一个主干前端,它通过上传的文件向Coldfusion后端发送restful调用 我需要知道一旦文件到达我的CFC,如何“获取”该文件。不幸的是,我对文件是否被发送有一些疑问,我的帖子运行良好,并从CFC返回了一个基本字符串,因此我知道这是有效的 POST有效载荷如下所示 ------WebKitFormBoundarymjCH1xJJ2D10ncj8 Content-Disposition: form-data; name="qqfile"; filename="Jellyfish.jpg"
------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>
我想这里可能缺少一些概念,所以我不确定如何真正表达这个问题。抱歉…这是知识问题,而不是真正的技术难题。我的文件被正确发送,在请求的Coldfusion端“拾取”一个文件
<cffile
action = "upload"
destination = "C:\ColdFusion10\cfusion\wwwroot\tempFiles\"
accept = "image/jpeg, application/xlsx"
nameConflict = "overwrite"
result="myFile"
>
感谢sunny的指点查看cffile标记上载操作。我已经尽可能地遵循了这一点,但我得到的是“表单字段formTest没有包含文件”。我从来没有提交过表单,我不认为这是因为我在使用jquery上传程序,所以这可能是问题所在。当然,我没有必要发送表单,或者这就是coldfusion处理发送文件的方式吗?我建议不要将文件上传到这样一个web可访问的位置。这是一种安全风险。最佳做法是首先将文件完全上传到web根目录之外的文件夹,验证上传的文件是否恶意,然后在必要时移动到可访问web的位置。