2014-02-21 47 views
1

我有一個現有的FineUploader實現小型文件使用傳統(上傳到服務器)版本,它運行良好。不過,我還希望允許從處理大附件的應用程序的不同部分直接進行S3上傳,而無需重新編寫小文件的現有代碼。Fine Uploader - 在同一個項目中同時使用Direct S3和Traditional

有沒有辦法讓Direct S3和傳統的上傳一起工作?這是一個單頁面應用程序,所以我不能只加載一個或其他精細上傳版本,具體取決於我所在的頁面。

我試過只包括兩個優秀的上傳JS文件,但它似乎打破了我現有的代碼。

客戶端代碼:

$uploadContainer = this.$('.uploader') 
$uploadButton = this.$('.upload-button') 
$uploadContainer.fineUploader(
    request: 
    endpoint: @uploadUrl 
    inputName: @inputName 
    params: 
     authenticity_token: $('meta[name="csrf-token"]').attr('content') 
    button: $uploadButton 
).on 'complete', (event, id, fileName, response) => 
    @get('controller').receiveUpload(response) 
+0

如果您嘗試在同一頁面上包含同一版本的多個版本,您會看到什麼特定的錯誤消息?另外,你試圖加載哪個版本?這些定製的內置版本是否通過基於Web的構建器? –

+0

謝謝!只是再試一次。 1.從傳統風格的基於Web的構建器下載定製構建,並使用該版本測試了我的傳統設置 - 它仍然正常工作。 2.下載4.3.1的S3自定義編譯(不會更改默認複選框),並將JS文件包含在我的應用程序中(當然,重命名後)。然後,當我嘗試點擊傳統上傳表單上的上傳按鈕時,出現此錯誤:https://www.dropbox.com/s/s8oeuahd49xe8q4/Screenshot%202014-02-21%2015.19.30.png來自S3 JS文件,而不是Trad。 –

+0

這很可能是由您的集成代碼造成的。加載兩個版本時,請顯示您的集成客戶端代碼。 –

回答

1

好找,@Melinda。

Fine Uploader存在於自定義命名空間中,因此它不會與其他潛在的全局變量衝突,這是qq命名空間(歷史命名)。正在發生的事情是,當您將自定義版本包含在頁面上的<script>標記中時,它們會重新聲明此命名空間以及所有成員對象。

我已經打開an issue on our bug tracker這個問題在更多的技術細節中解釋,我們正在尋求優先修復自定義頁面,以便將來沒有人會遇到這個問題。

+0

與此同時 - 由於您是許可證持有人 - 如果您希望我們爲傳統和S3端點爲您組裝自定義構建版,請隨時向[email protected]發送電子郵件。 –

+0

哇,非常感謝!那太棒了,我會通過電子郵件發送。 –