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中更短的 Array 类型转换
Oct 30 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
深入分析Javascript事件代理
Jan 30 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
js实现3D图片环展示效果
Mar 09 Javascript
基于vue实现swipe分页组件实例
May 25 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 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
thinkPHP实现表单自动验证
2014/12/24 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
Python自定义一个异常类的方法
2019/06/27 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
名词解释型面试题(主要是网络)
2013/12/27 面试题
财务会计毕业生自荐信
2013/11/02 职场文书
表彰先进集体通报
2014/01/12 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
应届生简历自我评价
2015/03/11 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
2015年学校团委工作总结
2015/05/26 职场文书