【发布时间】:2014-10-29 22:43:00
【问题描述】:
我正在使用 node webkit 创建一个应用程序。我希望能够将文件拖放到目标元素中——这样我就可以获得文件名而不触发上传。这可能吗?我该怎么做?
【问题讨论】:
-
谢谢。这有帮助。我正在寻找 jQuery 的解决方案。如果您将此作为答案,我将很乐意将其标记为。谢谢。
标签: jquery html node-webkit
我正在使用 node webkit 创建一个应用程序。我希望能够将文件拖放到目标元素中——这样我就可以获得文件名而不触发上传。这可能吗?我该怎么做?
【问题讨论】:
标签: jquery html node-webkit
借用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 字段已包含在内,而不是常规浏览器不可用。
【讨论】: