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面向对象编程之对象使用分析
Aug 19 Javascript
javascript通过class来获取元素实现代码
Feb 20 Javascript
javascript中sort()的用法实例分析
Jan 30 Javascript
果断收藏9个Javascript代码高亮脚本
Jan 06 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
浅谈Javascript中的函数、this以及原型
Oct 09 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 Vue.js
解析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.MVC的模板标签系统(四)
2006/09/05 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
vue项目中引入Sass实例方法
2019/08/27 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
通过数据库向Django模型添加字段的示例
2015/07/21 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
如何基于python操作json文件获取内容
2019/12/24 Python
python实现简单的购物程序代码实例
2020/03/03 Python
python基于win32api实现键盘输入
2020/12/09 Python
2015年六一儿童节活动总结
2015/02/11 职场文书
护理工作个人总结
2015/03/03 职场文书
学校国庆节活动总结
2015/03/23 职场文书
房屋产权证明书
2015/06/19 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书