2013-12-19 4 views
2

У меня есть интерфейс Backbone, который отправляет остаточные запросы с загруженным файлом на сервер Coldfusion.Получение загруженного файла в ColdFusion CFC

Мне нужно знать, как «добраться до» файла, как только он достигнет моего 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> 

Я думаю, что есть, вероятно, какая-то концепция, которую я здесь не вижу, поэтому я не уверен, как на самом деле ответить на этот вопрос. Извинения ...

+0

взгляд на cffile действия загрузки тегов. http://stackoverflow.com/questions/8733270/upload-file-in-object?rq=1 –

+0

Я следил за этим до тех пор, пока не могу, но я получаю «Поле формы formTest не содержало файл». Я на самом деле никогда не представляю форму, которую я не думаю, поскольку я использую загрузчик jquery, так что это, вероятно, проблема. Наверняка, мне не нужно, чтобы мне приходилось посылать форму, или это то, как холодный грипп должен обрабатывать отправку файла? – lorless

ответ

1

Это была проблема знаний, а не любая реальная техническая трудность. Мой файл отправлялся правильно, чтобы «взять» файл на конец Coldfusion запроса, который я использовал.

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

Благодаря солнечным для указателей

+3

Я предлагаю не загружать файлы в такое доступное в Интернете место. Это риск для безопасности. Оптимальным методом является загрузка в папку полностью за пределами веб-корня во-первых, проверка загруженного файла не является вредоносным, а затем переместиться в доступное через Интернет местоположение * при необходимости *. –

+0

Хорошо, спасибо за совет – lorless

Смежные вопросы