Dropzone 拖拽上传
简介
DropZonejs
是Github社区受欢迎的拖拽上传插件,不依赖第三方库,为了统一样式定义本框架在v5.7.0
版本基础上进行了修改,使之更方便使用,更符合中国开发者习惯。官网地址请点击这里,Github地址请点击这里。
本框架版本的Dropzonejs模板制作说明:
data-fancybox
表示创建缩略图链接data-thumbnail
表示创建缩略图图片data-image
表示创建缩略图背景data-progress
表示创建缩略图反向加载data-percent
表示创建缩略图正向加载(取整)data-errormessage
表示错误信息内容data-size
表示图片大小,单位MBdata-name
表示文件名
运行条件
页面引入ax.css
和ax.js
之后还需要引入以下文件。建议将js文件在文档底部引用。
<script src="https://src.axui.cn/v2.0/dist/plugins/dropzone/v5.7.0-ax/js/dropzone.js" type="text/javascript"></script> <link href="https://src.axui.cn/v2.0/dist/plugins/dropzone/v5.7.0-ax/css/dropzone.css" rel="stylesheet" type="text/css">
可以自由制作模板,模板举例如下:
<div id="template01" style="display: none;"> <li> <div class="ax-item"> <div class="ax-operate"><a href="###" data-fancybox="upload" target="_blank"><i class="ax-iconfont ax-icon-eye"></i></a></div> <div class="ax-preview"> <div class="ax-image" data-image=""> <div class="ax-progress" data-progress=""></div> <div class="ax-percent" data-percent=""></div> <div class="ax-success-mark"><i class="ax-iconfont ax-icon-check"></i></div> <div class="ax-error-mark"><i class="ax-iconfont ax-icon-close"></i></div> <div class="ax-error-message" data-errormessage=""></div> </div> <div class="ax-details"> <div class="ax-size" data-size=""></div> <div class="ax-filename" data-name=""></div> </div> </div> </div> </li> </div>
-
<script type='text/javascript'> var myDropzone = new Dropzone("#upload01", { url: "ax-upload-script.php", previewTemplate: document.querySelector('#template01').innerHTML, paramName: "file", maxFilesize: 5, maxFiles: 5, addRemoveLinks: true, acceptedFiles: ".jpg,.png,.gif,.txt,.doc,.docx,.xsl,.xslx,.pdf", }); </script>
-
<div class="ax-dropzone-outer"> <div class="ax-dropzone" id="upload01"> <ul class="ax-grid ax-space-md"></ul> </div> </div> <div id="template01" style="display: none;"> <li> <div class="ax-item"> <div class="ax-operate"><a href="###" data-fancybox="upload" target="_blank"><i class="ax-iconfont ax-icon-eye"></i></a></div> <div class="ax-preview"> <div class="ax-image" data-image=""> <div class="ax-progress" data-progress=""></div> <div class="ax-percent" data-percent=""></div> <div class="ax-success-mark"><i class="ax-iconfont ax-icon-check"></i></div> <div class="ax-error-mark"><i class="ax-iconfont ax-icon-close"></i></div> <div class="ax-error-message" data-errormessage=""></div> </div> <div class="ax-details"> <div class="ax-size" data-size=""></div> <div class="ax-filename" data-name=""></div> </div> </div> </div> </li> </div>
-
$path = "upload/"; //上传目录 $extArr = array("jpg", "png", "gif", "txt", "doc","docx","pdf","xsl","xslx"); if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){ $name = $_FILES['file']['name']; $size = $_FILES['file']['size']; if(empty($name)){ echo '请选择要上传的图片'; exit; } $ext = extend($name); if(!in_array($ext,$extArr)){ echo '图片格式错误!'; exit; } if($size>(100*1024)){ echo '图片大小不能超过100KB'; exit; } $image_name = time().rand(100,999).".".$ext; $tmp = $_FILES['file']['tmp_name']; if(move_uploaded_file($tmp, $path.$image_name)){ echo 'ok'; }else{ echo '上传出错了!'; } exit; } //获取文件类型后缀 function extend($file_name){ $extend = pathinfo($file_name); $extend = strtolower($extend["extension"]); return $extend; }