2014-09-05 91 views
0

我正在使用節點webkit創建應用程序。我希望能夠將文件放入目標元素中 - 這樣我可以獲取文件名並且不會觸發上傳。這可能嗎?我該怎麼做呢?我正在使用https://github.com/weixiyen/jquery-filedrop本地使用的HTML文件刪除

+0

專門爲該文檔提供了一個頁面https://github.com/rogerwang/node-webkit/wiki/Dragging-files-into-page – gotohales 2014-09-05 14:22:26

+0

謝謝。這有幫助。我正在尋找解決方案的jQuery。如果你把這個作爲答案,我很樂意標記它。謝謝。 – 2014-09-05 18:07:53

回答

1

wiki借款:

// prevent default behavior from changing page on dropped file 
window.ondragover = function(e) { e.preventDefault(); return false }; 
window.ondrop = function(e) { e.preventDefault(); return false }; 

var holder = document.getElementById('holder'); 
holder.ondragover = function() { this.className = 'hover'; return false; }; 
holder.ondragend = function() { this.className = ''; return false; }; 
holder.ondrop = function (e) { 
    e.preventDefault(); 

    for (var i = 0; i < e.dataTransfer.files.length; ++i) { 
    console.log(e.dataTransfer.files[i].path); 
    } 
    return false; 
}; 

是一個選項,以及HTML5文件閱讀器的方法:

holder.ondrop = function (e) { 
    e.preventDefault(); 

    var file = e.dataTransfer.files[0], 
     reader = new FileReader(); 
    reader.onload = function (event) { 
    console.log(event.target); 
    }; 
    console.log(file); 
    reader.readAsDataURL(file); 

    return false; 
}; 

值得注意的是,path字段被包括在內,而不是這絕對是重要的到普通瀏覽器不可用的地方。