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\">\n  <div class=\"dz-details\">\n    <div class=\"dz-filename\"><span data-dz-          name></span></div>\n    <div class=\"dz-size\" data-dz-size></div>\n    <img data-dz-thumbnail />\n  </div>\n  <div class=\"progress         progress-small progress-striped active\"><div class=\"progress-bar progress-bar-success\" data-dz-uploadprogress></div></div>\n  <div         class=\"dz-success-mark\"><span></span></div>\n  <div class=\"dz-error-mark\"><span></span></div>\n  <div class=\"dz-error-message        \"><span data-dz-errormessage></span></div>\n</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:第一个参数为总上传进度,第二个参数为总字节数,第三个参数为总上传字节数。
时间: 2024-08-06 20:09:54

dropzone的使用方法的相关文章

dropzone拖动文件上传在thinkphp5中应用一个实例

参考:Dropzone的使用方法 点击查看dropzone中文文档 后台用的INSPINIA框架的模板,里面有,dropzone.js dropzone是一个可以拖文件上传的js. 拖进去,就上传了.我在页面上,写了一个保存已经上传的文件的image3,image4. 这就需要改写一下dropzone.js. 代码如下: 前端: <div class="ibox-content">     <p>         <strong>組圖上傳</s

dropzone.js重写断点续传功能

js文件: var uploaddropzone = new Dropzone("#uploaddropzone",{ url: ctx + "/slider/fileUploadContinue", acceptedFiles: "", maxFiles: 1, autoDiscover : false, addRemoveLinks: true, dictRemoveFile: 'x', dictDefaultMessage: 'Drop f

struts整合dropzone.js上传图片遇到的点问题

问:struts后台无法获取文件对象和文件名称? 答:1. 到dropzone.js搜索"return xhr.send(formData);" 2. 在它前面有个这么句代码: for (i = _m = 0, _ref5 = files.length - 1; 0 <= _ref5 ? _m <= _ref5 : _m >= _ref5; i = 0 <= _ref5 ? ++_m : --_m) { formData.append(this._getPara

ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传

说在前面 最近在做一个MVC相册的网站(这里),需要批量上传照片功能,所以就在网上搜相关的插件,偶然机会发现Dropzone.js,试用了一下完全符合我的要求,而且样式挺满意的,于是就在我的项目中使用了这个插件.在使用的过程中发现中文的相关文档较少,说多了都是泪,硬着头皮看官方的网站,本来英文不咋地,只能边查单词边用了,于是就有了这篇文章,主要是总结在使用Dropzone中的遇到的一些问题及详细的使用步骤. Dropzone.js是啥? Dropzone.js是一个开源库,提供拖放文件上传及图像

dropzone.js使用实践

官网地址:http://www.dropzonejs.com/ 一,它是什么: DropzoneJS is an open source library that provides drag'n'drop file uploads with image previews. 它是一个开源的带图片预览的可拖拽上传图片的插件. 它具有轻量.不依赖其他库(诸如jQuery)的特点,同时很方便自定义. 二,简单使用: 这里之所以引用了jQuery并不是因为这个插件依赖jQuery,而是因为后文使用的语法,

Unity 崩溃问题解决方法——之一

友情提示:工作随记,不喜勿喷 注意:文艺青年可以略过,暴力青年欢迎采纳 Library文件夹 Unity每次编译都会生成这个东西,不用担心丢失的问题.所以,干掉他! 选中 + Delete   或者  选中 + Shift  + Delete 网上看了很多方法,就觉得这个简单,粗暴,是我喜欢的类型. 优点:上面说了 缺点:如果工程过大,重新编译时间会比较长.(但是对于查Log日志来说,相对快点)

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

C#与数据库访问技术总结(八)之ExecuteNonQuery方法

ExecuteNonQuery方法 ExecuteNonQuery方法主要用来更新数据. 通常使用它来执行Update.Insert和Delete语句. 该方法返回值意义如下: 对于Update.Insert和Delete语句,返回值为该命令所影响的行数. 对于所有其他类型的语句,返回值为-1. Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下: (1)创建数据库连接. (2)创建Command对象,并指定一个SQL Insert.Update