2014-03-26 43 views
3

我已經實現了FileUploader 4.4,當使用Coldfusion上傳多個文件時,它可以很好地工作。使用Fine Uloader上傳縮放文件時出現的奇怪現象

終點代碼非常簡單,看起來像這樣:

<cffile action="upload" 
       destination="#application.Config.imageDir#" 
       nameconflict="overwrite" 
       filefield="FORM.qqFile" /> 
      <cfif CFFILE.contenttype EQ "image" OR ListFindNoCase("jpg,jpeg,gif,png", CFFILE.serverFileExt)> 
       <cfset local.fileName = CFFILE.serverFile /> 
</cfif> 

每當我上載單個或多個圖像,local.filename變量正確設置爲圖像文件名值大家平時看到的在qqfilename,例如「image0001.jpg」

的javasript代碼發送這個數據很簡單:

$('#fine-uploader').fineUploader({ 
      request: { 
       endpoint: '<cfoutput>#application.Config.fineUploaderProxy#?cfc=#cfcName#&functionName=#functionName#</cfoutput>' 
       } 
    }); 

但是,只要我添加比例,那麼ST範圍行爲開始發生。縮放版本被髮送到我的上傳處理程序,但是,正在發送的文件名稱對於每個縮放圖像都是「blob」,而不是我所期望的名稱,就像 「image0001(small).jpg」

我加入到激活縮放的代碼很簡單:

$('#fine-uploader').fineUploader({ 
      scaling: { 
        sizes: [ 
         {name: "small", maxSize: 50} 
        ] 
       }, 
      request: { 
       endpoint: '<cfoutput>#application.Config.fineUploaderProxy#?cfc=#cfcName#&functionName=#functionName#</cfoutput>' 
       } 
    }); 

可能有人請幫助我,爲什麼文件名「斑點」與qqfile,而不是實際的文件名是?我正在使用最新版本的Chrome。

感謝

回答

5

這是由於這樣的事實,精細上傳實際上並沒有發送File時,它產生的縮放版本關閉參考文件。該實體具體爲Blob。雖然File具有名稱屬性,但Blob不具有。正因爲如此,瀏覽器在構建Blob的多部分段時,將filename參數設置爲「blob」。有辦法可以克服這一點,但不能可靠地跨瀏覽器。因此,Fine Uploader將始終將實際文件名稱發送到「qqfilename」參數中。您的服務器應該查看此值以在所有情況下可靠地確定文件名。

+1

完美,謝謝!我所要做的就是正常上傳圖像,導致CFFILE.serverFile名稱爲「blob」,然後將其重命名爲服務器上的FORM.qqfilename屬性。問題解決了。 – Cheeky

相關問題