jQuery FileUpload 插件
在前端开发过程中,我们经常要上传文件,这是我们就要用
<input type="file" name="file">
这是原生的写法,看起来不是很美观。下面我们聊一种比较优雅的实现方法。
上传文件
首先,我们隐藏的
input
框,并将input
框的click事件绑定到它上面的button
元素上(通过onclick="$(this).next().click()"
实现),这样我们就可以按照我们自己的喜好来设置button
的样式,同时也达到了上传文件的功能。
<button type="button" onclick="$(this).next().click()">
<i class="fa fa-upload mr-sm" aria-hidden="true"></i><span>导入</span>
</button>
<input type="file" name="file" style="display:none" class="btn-upload">
fileupload 事件
jQuery File Upload
是一个Jquery
文件上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。
我们这里主要说说文件上传和文件格式、 大小的要求
引入相关插件
fileupload
插件是必须的,fileupload-process
负责处理上传过程中各个事件的管理,fileupload-validate
则是对验证的支持
<script src="//cdn.bootcss.com/blueimp-file-upload/9.12.5/js/jquery.fileupload.js"></script>
<script src="//cdn.bootcss.com/blueimp-file-upload/9.12.5/js/jquery.fileupload-process.js"></script>
<script src="//cdn.bootcss.com/blueimp-file-upload/9.12.5/js/jquery.fileupload-validate.js"></script>
使用插件
我们可以对上传文件的大小和文件类型进行验证,并通过
messages
设置验证失败时的提示信息。
$('input[name="file"]').fileupload({
url: '上传地址',
Type: "POST",
autoUpload: true,
acceptFileTypes:/\.(doc|docx)$/i,// 文件格式
maxFileSize: 99 * 1024 * 1024, //文件大小
// 设置验证失败的提示信息
messages: {
maxFileSize: 'File exceeds maximum allowed size of 99MB',
acceptFileTypes: 'File type not allowed'
},
processfail: function (e, data) {
var currentFile = data.files[data.index];
if (data.files.error && currentFile.error) {
// there was an error, do something about it
console.log(currentFile.error);
}
},
done: function() {
// 上传成功的回调函数,可以弹出“上传成功”之类的弹框
},
fail: function() {
// 上传失败的回调函数,可以弹出“上传失败”之类的弹框
},
})
Jquery
有很多很好用的插件,逐个去学习不是很现实,只有在用到的时候,尽力去搞懂其使用方法。慢慢积累吧~~~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。