zoukankan      html  css  js  c++  java
  • Dropzone.js实现文件拖拽上传

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

    使用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:一个函数,如果浏览器不支持此插件则调用。

  • 相关阅读:
    LeetCode 1110. Delete Nodes And Return Forest
    LeetCode 473. Matchsticks to Square
    LeetCode 886. Possible Bipartition
    LeetCode 737. Sentence Similarity II
    LeetCode 734. Sentence Similarity
    LeetCode 491. Increasing Subsequences
    LeetCode 1020. Number of Enclaves
    LeetCode 531. Lonely Pixel I
    LeetCode 1091. Shortest Path in Binary Matrix
    LeetCode 590. N-ary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/zhangwc/p/6248537.html
Copyright © 2011-2022 走看看