nw.js node-webkit系列(20)拖动文件到页面并读取文件信息
2016-04-07 11:14
751 查看
node-webkit支持把文件直接拖动到页面,并获取文件绝对路径,再通过node.js的fn模块打开相应文件的方法。
如果想要获取拖动到页面的文件路径,请参考下面的例子:
如果需要读取更多内容,请使用:
(注):以上的方法是使用HTML5来绑定drag / drop事件,如果使用JQuery方法绑定时,获取dataTransfer对象要使用e.originalEvent.dataTransfer语句。
如果想要获取拖动到页面的文件路径,请参考下面的例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> #holder { border: 10px dashed #ccc; width: 300px; height: 300px; margin: 20px auto; } #holder.hover { border: 10px dashed #333; } </style> <script> //Same as $(document).ready(); function ready(fn) { if (document.readyState != 'loading') { fn(); } else { document.addEventListener('DOMContentLoaded', fn); } } //When the page has loaded, run this code ready(function() { // prevent default behavior from changing page on dropped file window.ondragover = function(e) { e.preventDefault(); return false }; // NOTE: ondrop events WILL NOT WORK if you do not "preventDefault" in the ondragover event!! window.ondrop = function(e) { e.preventDefault(); return false }; var holder = document.getElementById('holder'); holder.ondragover = function() { this.className = 'hover'; return false; }; holder.ondragleave = 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; }; }); </script> </head> <body> <div id="holder"></div> </body> </html>
如果需要读取更多内容,请使用:
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; };
(注):以上的方法是使用HTML5来绑定drag / drop事件,如果使用JQuery方法绑定时,获取dataTransfer对象要使用e.originalEvent.dataTransfer语句。
相关文章推荐
- nw.js实现类似微信的聊天软件
- 解决node-webkit 不支持html5播放mp4视频的方法
- node-webkit打包成exe文件被360误报木马的解决方法
- 关于node-webkit安装程序制作的另一种办法
- 关于node-webkit播放flash问题
- [转]Node-Webkit配合HTML5实现拍照功能
- nw.js node-webkit系列(1)简单介绍及应用
- nw.js node-webkit系列(2)nwjs相关教程
- nw.js node-webkit系列(4)Native UI API 概述和应用规范
- nw.js node-webkit系列(5)Native UI API Window的使用
- 使用Sublime快速开发node-webkit客户端程序
- nw.js window下调试项目
- mac nw.js 打包桌面应用程序
- IntelliJ IDEA2017 构建nwjs项目
- HTML,CSS,JS快速编写node-webkit桌面程序,以及package.json详解
- 20170914 nwjs实现模拟图片上传
- 20170913 nwjs的bg-script的坑
- nw.js 开发跨平台应用(1)部署开发环境
- nw.js学习日志(一)
- 我的第一个nw.js爬虫