标签:
<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
:第一个参数为总上传进度,第二个参数为总字节数,第三个参数为总上传字节数。标签:
原文地址:http://www.cnblogs.com/shouce/p/5233517.html