• dropzone的使用方法


    <form method="post" enctype="multipart/form-data" class="dropzone" action="import">//注意这里的action和下面的url要一直,如果不写的话就算浏览器上传成功了也会报404的错误
                    <div class="fallback">
                        <input name="file" type="file" />
                    </div>
      </form>

    <script type="text/javascript">

    try {
                 $(".dropzone").dropzone({
                        url:'import?ti='+new Date(),//上传地址
                        paramName: "file",
                        maxFilesize: 2.0, // MB
                        maxFiles:1,//一次性上传的文件数量上限
                        acceptedFiles: ".xls",  
                        addRemoveLinks : true,//添加移除文件
                        autoProcessQueue: false,//不自动上传
                        dictCancelUploadConfirmation:'你确定要取消上传吗?',
                        dictMaxFilesExceeded: "您一次最多只能上传{{maxFiles}}个文件",
                        dictFileTooBig:"文件过大({{filesize}}MB). 上传文件最大支持: {{maxFilesize}}MB.",
                        dictDefaultMessage :
                        '<span class="bigger-150 bolder"><i class="icon-caret-right red"></i> 拖动文件至该处</span>
                        <span class="smaller-80 grey">(或点击此处)</span> <br />
                        <i class="upload-icon icon-cloud-upload blue icon-3x"></i>',
                        dictResponseError: '文件上传失败!',
                        dictInvalidFileType: "你不能上传该类型文件,文件类型只能是*.xls。",
                        dictCancelUpload: "取消上传",
                        dictCancelUploadConfirmation: "你确定要取消上传吗?",
                        dictRemoveFile: "移除文件",
                        uploadMultiple:false,
                        //change the previewTemplate to use Bootstrap progress bars
                        previewTemplate: "<div class="dz-preview dz-file-preview">   <div class="dz-details">     <div class="dz-filename"><span data-dz-          name></span></div>     <div class="dz-size" data-dz-size></div>     <img data-dz-thumbnail />   </div>   <div class="progress         progress-small progress-striped active"><div class="progress-bar progress-bar-success" data-dz-uploadprogress></div></div>   <div         class="dz-success-mark"><span></span></div>   <div class="dz-error-mark"><span></span></div>   <div class="dz-error-message        "><span data-dz-errormessage></span></div> </div>",
                        init: function() {
                           var submitButton = document.querySelector("#sureSubmit");
                            myDropzone = this; // closure
                            //为上传按钮添加点击事件
                            submitButton.addEventListener("click", function () {
                               $('#subModel').modal('hide');
                               //手动上传
                               myDropzone.processQueue();
                            });  
                            //添加了文件的事件
                            this.on("addedfile", function () {
                                 $('#subModel').modal().css({
                                        'margin-top': function () {
                                            return (document.body.scrollHeight/ 2.5);
                                        }
                                    });
                                 $('#subModel').modal('show');
                            });
                            this.on("success", function(file,data) {
                                if(data=="upErr"){
                                    alertMsg("上传失败!");                                
                                }else{
                                    alertMsg(data);
                                }
                            });                      
                            this.on("error", function(file) {
                                alert("文件上传失败!");
                            });
                        },
                     
                        
                      });
                    } catch(e) {
                      alert('浏览版本过低,不支持文件上传!');
                    }
                
                });

    <script type="text/javascript">


    以下是网上收的关于dropzone的一些相关数据:

    功能选项

    • url:最重要的参数,指明了文件提交到哪个页面。
    • method:默认为post,如果需要,可以改为put
    • paramName:相当于元素的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:一个函数,如果浏览器不支持此插件则调用。

    翻译选项

    • dictDefaultMessage:没有任何文件被添加的时候的提示文本。
    • dictFallbackMessage:Fallback 情况下的提示文本。
    • dictInvalidInputType:文件类型被拒绝时的提示文本。
    • dictFileTooBig:文件大小过大时的提示文本。
    • dictCancelUpload:取消上传链接的文本。
    • dictCancelUploadConfirmation:取消上传确认信息的文本。
    • dictRemoveFile:移除文件链接的文本。
    • dictMaxFilesExceeded:超过最大文件数量的提示文本。

    常用事件

    以下事件接收 file 为第一个参数

    • addedfile:添加了一个文件时发生。
    • removedfile:一个文件被移除时发生。你可以监听这个事件并手动从服务器删除这个文件。
    • uploadprogress:上传时按一定间隔发生这个事件。第二个参数为一个整数,表示进度,从 0 到 100。第三个参数是一个整数,表示发送到服务器的字节数。当一个上传结束时,Dropzone 保证会把进度设为 100。注意:这个函数可能被以同一个进度调用多次。
    • success:文件成功上传之后发生,第二个参数为服务器响应。
    • complete:当文件上传成功或失败之后发生。
    • canceled:当文件在上传时被取消的时候发生。
    • maxfilesreached:当文件数量达到最大时发生。
    • maxfilesexceeded:当文件数量超过限制时发生。

    以下事件接收一个 file list 作为第一个参数(仅当uploadMultiple被设为true时才会发生)

    • successmultiple
    • completemultiple
    • cancelmultiple

    特殊事件

    • totaluploadprogress:第一个参数为总上传进度,第二个参数为总字节数,第三个参数为总上传字节数。
  • 相关阅读:
    OpenCV学习:图片的读取、展示
    Windows下使用Anaconda配置opencv和tensorflow环境
    二叉树的链式存储的实现以及对二叉树的各种操作
    数据结构——树笔记1
    Python学习笔记整理总结【Django】Ajax
    Python学习笔记整理总结【Django】:中间件、CSRF、缓存
    Python学习笔记整理总结【Django】:模板语言、分页、Cookie、Session
    Python学习笔记整理总结【Django】:Model操作(一)
    Python学习笔记整理总结【Django】【MVC/MTV/路由分配系统(URL)/视图函数 (views)/表单交互】
    数据结构与算法(C/C++版)【树与二叉树】
  • 原文地址:https://www.cnblogs.com/mouseIT/p/4380243.html
Copyright © 2020-2023  润新知