Dropzone.js实现文件拖拽上传功能(附源码下载)


Posted in Javascript onNovember 22, 2016

dropzone.js是一个开源的JavaScript库,提供 AJAX 异步文件上传功能,支持拖拽文件、支持最大文件大小、支持设置文件类型、支持预览上传结果,不依赖jQuery库。

Dropzone.js实现文件拖拽上传功能(附源码下载)

效果演示      源码下载

使用Dropzone

我们可以建立一个正式的上传form表单,并且给表单一个.dropzone的class。

<form id="mydropzone" action="/upload.php" class="dropzone"></form>

就这样,Dropzone会自动找到.dropzone的表单form元素,并且通过action属性,上传到后台接收文件的程序,如upload.php,就像接受一个很普通的file input表单:

<input type="file" name="file" />

然后,在你的upload.php中写上传代码,Dropzone官网下载的只有js代码,没有后台的上传代码,不过,helloweba.com为您提供了php版的完整上传实例代码,欢迎下载源码。

接下来就是引入dropzone.js了。

<script src="dropzone.min.js"></script>

然后什么都不用做了,打开浏览器,测试拖拽上传效果。当然样式你可以自己写,也可以参照我们的实例代码。

还有一种情况,我们不希望上传的html中有form表单,那么好,我们只要在html中放置一个div#mydropzone

<div id="mydropzone" class="dropzone"></div>

然后,配置一下js调用:

var myDropzone = new Dropzone("div#mydropzone", { url: "upload.php"});

如果您使用的是jquery,那么jQuery版的可以这样调用:

$("#dropz").dropzone({ 
url: "upload.php" 
})

运行你的网页,是不是一样可以看到上传效果。

配置Dropzone

Dropzone的特色就在于非常灵活,提供了许多可选项、事件等。下面是Dropzone几个常用的配置项。

url:最重要的参数,指明了文件提交到哪个页面。

method:默认为post,如果需要,可以改为put。

paramName:相当于<input>元素的name属性,默认为file。

maxFilesize:最大文件大小,单位是 MB。

maxFiles:默认为null,可以指定为一个数值,限制最多文件数量。

addRemoveLinks:默认false。如果设为true,则会给文件添加一个删除链接。

acceptedFiles:指明允许上传的文件类型,格式是逗号分隔的 MIME type 或者扩展名。例如:image/*,application/pdf,.psd,.obj

uploadMultiple:指明是否允许 Dropzone 一次提交多个文件。默认为false。如果设为true,则相当于 HTML 表单添加multiple属性。

headers:如果设定,则会作为额外的 header 信息发送到服务器。例如:{"custom-header": "value"}

init:一个函数,在 Dropzone 初始化的时候调用,可以用来添加自己的事件监听器。

forceFallback:Fallback 是一种机制,当浏览器不支持此插件时,提供一个备选方案。默认为false。如果设为true,则强制 fallback。

fallback:一个函数,如果浏览器不支持此插件则调用。

以上所述是小编给大家介绍的Dropzone.js实现文件拖拽上传,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS location几个方法小姐
Jul 09 Javascript
Javascript 中的类和闭包
Jan 08 Javascript
分享一则JavaScript滚动条插件源码
Mar 03 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
Apr 06 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
javascript 中的继承实例详解
May 05 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 Javascript
axios post提交formdata的实例
Mar 16 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
React实现类似淘宝tab居中切换效果的示例代码
Jun 02 Javascript
解析jQueryEasyUI的使用
Nov 22 #Javascript
详解jQuery插件开发方式
Nov 22 #Javascript
AngularJS中isolate scope的用法分析
Nov 22 #Javascript
详解js界面跳转与值传递
Nov 22 #Javascript
js实现界面向原生界面发消息并跳转功能
Nov 22 #Javascript
JavaScript面向对象分层思维全面解析
Nov 22 #Javascript
浅析location.href跨窗口调用函数
Nov 22 #Javascript
You might like
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
php 301转向实现代码
2008/09/18 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
js 走马灯简单实例
2013/11/21 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
python端口扫描系统实现方法
2014/11/19 Python
python 用下标截取字符串的实例
2018/12/25 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
python数据抓取3种方法总结
2021/02/07 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
手术室护士自我鉴定
2013/10/14 职场文书
小学敬老月活动方案
2014/02/11 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
加薪通知
2015/04/25 职场文书
倡议书的格式写法
2015/04/28 职场文书
公积金贷款承诺书
2015/04/30 职场文书
焦裕禄观后感
2015/06/03 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
SQL Server使用导出向导功能
2022/04/08 SQL Server