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 相关文章推荐
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
JavaScript 对Cookie 操作的封装小结
Dec 31 Javascript
jquery tab标签页的制作
May 10 Javascript
JavaScript模拟实现继承的方法
Mar 30 Javascript
javascript实现完美拖拽效果
May 06 Javascript
jQuery基于图层模仿五星星评价功能的方法
May 07 Javascript
JS实现的车标图片提示效果代码
Oct 10 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
AngularJS的$location使用方法详解
Oct 19 Javascript
基于vue中keep-alive缓存问题的解决方法
Sep 21 Javascript
记一次react前端项目打包优化的方法
Mar 30 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
Jan 26 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 保留小数点
2009/04/21 PHP
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
PHP ADODB实现事务处理功能示例
2018/05/25 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
python读取csv文件示例(python操作csv)
2014/03/11 Python
python中__slots__用法实例
2015/06/04 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
python3.7调试的实例方法
2020/07/21 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
一套C#面试题
2013/10/09 面试题
工作表扬信范文
2015/01/17 职场文书
母亲节寄语大全
2015/02/27 职场文书
修辞手法有哪些?
2019/08/29 职场文书
在项目中使用redis做缓存的一些思路
2021/09/14 Redis