2016-08-14 63 views
1

我想創建一個拖動&拖放上傳文件ember.js應用程序,我試圖使用ember-plupload,但我無法使plupload工作,這裏是我的代碼:Ember.js ember-plupload拖放

{{#pl-uploader for="upload-image" extensions="jpg jpeg png gif" onfileadd="uploadImage" as |queue dropzone|}} 
    <div class="dropzone" id={{dropzone.id}}> 
    {{#if dropzone.active}} 
     {{#if dropzone.valid}} 
     Drop to upload 
     {{else}} 
     Invalid 
     {{/if}} 
    {{else if queue.length}} 
     Uploading {{queue.length}} files. ({{queue.progress}}%) 
    {{else}} 
     <h4>Upload Images</h4> 
     <p> 
     {{#if dropzone.enabled}} 
      Drag and drop images onto this area to upload them or 
     {{/if}} 
     <a id="upload-image">Add an Image.</a> 
     </p> 
    {{/if}} 
    </div> 
{{/pl-uploader}} 
{{outlet}} 

這是來自plupload的樣本模板。和路線:

import Ember from "ember"; 

const get = Ember.get; 
const set = Ember.set; 

export default Ember.Route.extend({ 

    actions: { 
    uploadImage: function (file) { 
     var product = this.modelFor('product'); 
     var image = this.store.createRecord('image', { 
     product: product, 
     filename: get(file, 'name'), 
     filesize: get(file, 'size') 
     }); 

     file.read().then(function (url) { 
     if (get(image, 'url') == null) { 
      set(image, 'url', url); 
     } 
     }); 

     file.upload('/api/images/upload').then(function (response) { 
     set(image, 'url', response.headers.Location); 
     return image.save(); 
     }, function() { 
     image.rollback(); 
     }); 
    } 
    } 
}); 

再次採樣。終於有結果,頁面

上傳圖片

拖拽圖片到該區域上傳或添加圖片。

但我無法將任何東西拖到它上面。和螢火蟲日誌:

實例化的FileInput ...
試圖運行時:HTML5
對象{接受= [1], 名= 「文件」,多=真,...}
默認模式:瀏覽器
選擇 模式:假
運行 'HTML5' 初始化失敗
試圖運行時:HTML4
對象{接受= [1],名字= 「文件」,多=真,...}
默認模式: 瀏覽器
選定模式:false
運行時'html4'未能初始化
試圖運行時:閃光燈
對象{接受= [1],名稱= 「文件」,多個=真, ...}
select_multiple:真(兼容模式:空)
drag_and_drop: 真(兼容模式:空)
默認模式:客戶端
send_browser_cookies:假(兼容模式:客戶端)
select_file:真(兼容模式:客戶端)
選擇的模式:假
運行 '快閃' 初始化失敗
試圖運行時:Silverlight的
對象{accept = [1],name =「file」,multiple = true,...}
select_multiple:真(兼容模式:空)
drag_and_drop:真 (兼容模式:空)
默認模式:瀏覽器
send_browser_cookies:假(兼容模式:客戶端)
select_file:真(兼容模式:客戶端)
Silverlight不是 安裝或最低版本(2.0.31005.0)要求不符合(可能不是 )。
選擇的模式:假
運行 '的Silverlight' 未能 初始化
實例化FileDrop ...
試圖運行時:HTML5
對象 {接受= [1],required_caps =對象,...}
默認模式:瀏覽器
選擇模式:false
運行時'html5'未能初始化
嘗試 運行時:html4
對象{accept = [1],required_caps = Object,...}
默認 模式:瀏覽器
選擇的模式:假
運行 'HTML4' 未能 初始化
試圖運行時:閃光燈
對象{接受= [1], required_caps =對象,...}
select_multiple:真(兼容模式: 空)
drag_and_drop:真(兼容模式:空)
默認模式: 客戶
drag_and_drop:真(兼容模式:空)
send_browser_cookies:假(兼容模式:客戶端)
select_file:真(兼容模式:客戶端)
選擇的模式:假
運行時 '閃速' 初始化失敗
試圖運行時:Silverlight的
對象{接受= [1],required_caps =對象,...}
select_multiple:真 (兼容模式:空)
drag_and_drop :真(兼容模式: 空)
默認模式:瀏覽器
drag_and_drop:真(兼容模式: 空)
send_browser_cookies:假(兼容模式:客戶端)
select_file:真(兼容模式:客戶端)
Silverlight是不是 已安裝或最低版本(2.0.31005.0)r不符合要求(不是 )。
選擇的模式:假
運行「Silverlight的」未能 初始化

我可以在這種情況下怎麼辦?問候,Rafał

回答

0

我在作者的github頁面上創建了一個問題,並且問題立即得到解決,因此案例已關閉,感謝Tim提供了很好的支持。

有一個新的工作版本的ember-plupload。

問候,Rafał