本篇文章主要介绍了"dropzone的使用方法",主要涉及到方面的内容,对于Javascript教程感兴趣的同学可以参考一下:
<form method="post" enctype="multipart/form-data" action="import">//注意这里的a...
<form method="post" enctype="multipart/form-data" action="import">//注意这里的action和下面的url要一直,如果不写的话就算浏览器上传成功了也会报404的错误
<div>
<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><i></i> 拖动文件至该处</span> \
<span>(或点击此处)</span> <br /> \
<i></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的一些相关数据:
功能选项
翻译选项
- 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:第一个参数为总上传进度,第二个参数为总字节数,第三个参数为总上传字节数。
以上就介绍了dropzone的使用方法,包括了方面的内容,希望对Javascript教程有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_123242.html