HTML5读取拖放的本地文件的例子

在桌面上创建了自定义的放置目标后,可以从桌面上把文件拖放到该目标。与拖放一张图片或链接类似,从桌面上把文件拖放到浏览器中也会触发drop事件。而且可以在event.dataTransfer.files中读取到被放置的文件,此时它是一个File对象,与通过文件输入字段取得的File对象一样。

例子:

<!DOCTYPE HTML>
<html>
<head>
    <style type="text/css">
        #dropTarget {width: 200px; height: 200px; background: #ccc; border: 1px solid #999;}
    </style>
</head>
<body>
<p>请把文件拖到下面的框里:</p>
<div id="dropTarget"></div>
<div id="output"></div>
<script type="text/javascript">
    function dragHandle(event) {
        var info = "",
            outputEle = document.getElementById("output"),
            files, i, len;
        event.preventDefault();
        if(event.type == "drop") {
            files = event.dataTransfer.files;
            i = 0;
            len = files.length;
            while(i < len) {
                info += files[i].name + "( " + files[i].type + ", " + files[i].size + " bytes) <br>";
                i++;
            }
            outputEle.innerHTML = info;
        }
    }
    var dropTargetEle = document.getElementById("dropTarget");
    dropTargetEle.addEventListener("dragenter", dragHandle, false);
    dropTargetEle.addEventListener("dragover", dragHandle, false);
    dropTargetEle.addEventListener("drop", dragHandle, false);
</script>
</body>
</html>

与其他拖放示例一样,这里也必须取消dragenter、dragover和drop的默认行为。

在drop事件中,可以通过event.dataTransfer.files读取文件信息。

读取拖放的文件的功能常用情景有:

结合XMLHttpRequest和拖放文件来实现上传。(最多)
查看和管理本地图片。
查看和管理本地音乐。

时间: 2024-09-20 05:50:10

HTML5读取拖放的本地文件的例子的相关文章

Jquery $.ajax与$.getJson读取本地文件的例子

Echarts代码:  代码如下 复制代码 require('echarts/util/mapData/params').params.continent = { getGeoJson: function(callback) { $.getJSON('./scripts/continent_geo.json', callback); } } 图示:     Received an invalid response. Origin 'null' is therefore not allowed a

jsp页面调用本地插件完成对本地文件与服务器上文件的同步更新

问题描述 大家 有没有写过如题的功能,因为我现在需要每次点jsp页面的 更新按钮时,需要将本地文件的版本与服务器上的文件进行版本对比,将需要更新的文件进行下载,解压,我想通过写插件,完成这种需求,但是没有写过类似的东西,希望写过此功能的拿们,指点.............. 问题补充:kidding87 写道 解决方案 这个是我在microsoft上面找的Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosof

Html5 本地文件读取 API 研究使用过程中的意外发现 - MDN

Html5 本地文件读取 API 研究使用过程中的意外发现 - MDN 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 补充: 终于可以读出肉的眼能看懂的人类文字了!!! 经在 safari 7

android华为手机读取本地文件夹图片获取path路径null,求指导

问题描述 android华为手机读取本地文件夹图片获取path路径null,求指导 android华为手机读取本地文件夹图片获取path路径null,求指导 解决方案 public String getImagePathFromURI(Uri uri) { Cursor cursor = getActivity().getContentResolver().query(uri null null null null); String path = null; if (cursor != null

pdf-如果用HTML5读取PDF文件?求指教!急急急!

问题描述 如果用HTML5读取PDF文件?求指教!急急急! 我想在一个单独的HTML5页面读取任意的pdf文件怎么实现?求指教,刚才看了一下网 上的说法,都说是用pdf.js,有没有人知道怎么用啊,我根本就看不懂, 解决方案 虽然没用过,百度后发现这个里面有demo(也许你也查到了)http://www.html5cn.org/article-4190-1.html: 进入demo页面后,右击选择查看源代码.然后copy下来,不要的内容删掉就可以了. 解决方案二: 看什么浏览器了,如果是Chro

nginx 如何读取本地文件获取参数

问题描述 nginx 如何读取本地文件获取参数 最近遇到开发一个需求:前提我们使用nginx做方向代理,后端tomcat:请求的uri类似 http://www.test.com/********/abc/abc/*:其中 二级目录/********/ 是根据用户随机生成的11位id 与用户是一一对应的:问题:现有后端tomcatA 更改bug后或者优化了部分功能,我们没有重新部署tomcatA,而是重新搭建了一个新的后台tomcatB,因为nginx代理的tomcatA 这样就没办法测试tom

.net网站开发怎样读取本地文件夹下文件名~~

问题描述 .net网站开发,用C#语言就是要实现从本地文件夹中读取文件中所有图片的名称,名称不包括.jpg,然后作为控件listbox的数据项最终效果就是网页中点击listbox中一个项,右侧就显示一个图片图片都是以时间为名称的,所以就是在listbox里面选择一个日期,就显示对应的图片希望能够帮忙非常感谢!! 解决方案 解决方案二:本地文件夹?这个,b/s结构不是用来干这个事的.解决方案三:publicvoidGetFileNameList(){//初始目录stringpath="c:\ima

php读取本地文件常用函数(fopen与file_get_contents)_php基础

下面我们以.txt文件为实例来介绍php读取本地文件的函数,读取文件我们可以利用fopen或file_get_contents来读取,file_get_contents更简单而fopen需要fread配合才可以显示读出的内容. 1.首先来介绍一下fopen()函数 下面我们给出了一个直接打开本地文件的代码demo,必要的地方我们都已经加上了注释: 复制代码 代码如下:     //直接打开一个本地文件的实例代码       <?php       //假若我们本地的文件是一个名为xmlas.tx

php读取本地文件常用函数

1.首先来介绍一下fopen()函数 下面我们给出了一个直接打开本地文件的代码demo,必要的地方我们都已经加上了注释:  代码如下 复制代码     //直接打开一个本地文件的实例代码       <?php       //假若我们本地的文件是一个名为xmlas.txt的文本       $filedemo = "xmlas.txt";       $fpdemo = fopen($filedemo,"r");       if ($fpdemo){