博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML5文件拖拽
阅读量:4650 次
发布时间:2019-06-09

本文共 1055 字,大约阅读时间需要 3 分钟。

HTML5新增的File API, 可以获取名称、文件大小、类型等信息,需先对DOM中的Element进行拖拽事件绑定

相关API

首先获取节点,绑定拖动到该节点的事件,可以改变鼠标形状

var draghere = document.querySelector('#draghere');draghere.addEventListener('dragover', function(e){    e.preventDefault();    e.stopPropagation();    e.dataTransfer.dropEffect = 'copy';});

鼠标松开时,再绑定drop事件,使用 event.dataTransfer.files 可以获取文件列表

draghere.addEventListener('drop', function(e){    e.preventDefault();    e.stopPropagation();    var fileLists = e.dataTransfer.files;}

获取到指定的文件后,再获取文件名称和文件大小,可以由这些信息判断是否继续操作

var file = fileLists[0];var fileName = file.name;var fileSize = file.size

如果需要获取文件的内容,首先得判断文件是否加载,再使用 FileReader 类的 readAsText(file) 方法进行文件读取

由reader的 result 属性取得内容

var reader = new FileReader();reader.onloadend = function(e){    if(e.target.readyState === FileReader.DONE){        // 获取文件内容        var fileContent = reader.result;     }}reader.readAsText(file);

小示例

把文件拖到网页中,根据文件名和类型判断是否读取其中的内容,然后使用强大的在线编辑器 展示结果

CodeMirror支持VIM和EMACS, 还示例Sublime Text, 连它的快捷键也支持不少。。

在线代码编辑

参考链接

转载于:https://www.cnblogs.com/liaoyu/p/html5-drag-file-to-web-page.html

你可能感兴趣的文章
Linux Supervisor的安装与使用入门
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>
1035等差数列末项计算
查看>>
CDMA鉴权
查看>>
ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
查看>>
过滤器与拦截器区别
查看>>
第二阶段站立会议7
查看>>
JAVA多线程
查看>>
delphi 更改DBGrid 颜色技巧
查看>>