nw.js node-webkit系列(20)拖动文件到页面并读取文件信息
来源:互联网 发布:欧美手机主题软件 编辑:程序博客网 时间:2024/06/06 03:15
node-webkit支持把文件直接拖动到页面,并获取文件绝对路径,再通过node.js的fn模块打开相应文件的方法。
如果想要获取拖动到页面的文件路径,请参考下面的例子:
<!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 codeready(function() {// prevent default behavior from changing page on dropped filewindow.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语句。
0 0
- nw.js node-webkit系列(20)拖动文件到页面并读取文件信息
- nw.js node-webkit系列(22).nw执行过程及如何获取.nw真实路径
- nw.js node-webkit系列(2)nwjs相关教程
- nw.js node-webkit系列(19)开发者必看:nw.js快速开发解决方案
- nw.js node-webkit系列(14)不同系统环境下如何启动node-webkit APP
- nw.js(node-webkit)桌面客户端
- node webkit(nw.js) 设置自动更新
- nw.js node-webkit系列(1)简单介绍及应用
- nw.js node-webkit系列(3)基本程序结构与配置
- nw.js node-webkit系列(4)Native UI API 概述和应用规范
- nw.js node-webkit系列(5)Native UI API Window的使用
- nw.js node-webkit系列(6)Native UI API Frameless window的使用
- nw.js node-webkit系列(7)Native UI API Menu的使用
- nw.js node-webkit系列(8)Native UI API MenuItem的使用
- nw.js node-webkit系列(9)Native UI API App的使用
- nw.js node-webkit系列(10)Native UI API Clipboard的使用
- nw.js node-webkit系列(11)Native UI API Tray的使用
- nw.js node-webkit系列(12)Native UI API File dialogs的使用
- 4.5 小结:master目录各程序的用途
- 使用ngx_lua构建高并发应用(2)
- zz:ios完整学习路线
- markdown的简单的语法
- 素质与修养
- nw.js node-webkit系列(20)拖动文件到页面并读取文件信息
- 杂
- MySQL数据表创建删除操作
- UITableView 基本使用方法总结
- 【BZOJ3155】Preprefix sum【树状数组】
- UML学习(一)-----用例图
- SQL SERVER
- 应用plsql进行数据库远程连接
- c++作业2