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 相关文章推荐
javascript学习随笔(使用window和frame)的技巧
Mar 08 Javascript
js变换显示图片的实例
Apr 16 Javascript
js仿百度有啊通栏展示效果实现代码
May 28 Javascript
js实现的点击数量加一可操作数据库
May 09 Javascript
node.js中的emitter.on方法使用说明
Dec 10 Javascript
Js数组排序函数sort()介绍
Jun 08 Javascript
javascript html5实现表单验证
Mar 01 Javascript
webuploader实现上传图片到服务器功能
Aug 16 Javascript
JS如何获取地址栏的参数实例讲解
Oct 06 Javascript
使用Javascript简单计算器
Nov 17 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
May 05 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 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生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
python通过shutil实现快速文件复制的方法
2015/03/14 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
法国房车租赁网站:Yescapa
2019/08/26 全球购物
美术师范毕业生自荐信
2013/11/16 职场文书
银行介绍信范文
2014/01/10 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
贷款担保书范文
2014/05/13 职场文书
物业消防安全责任书
2014/07/23 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
投资入股合作协议书
2014/10/28 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
python开发人人对战的五子棋小游戏
2022/05/02 Python