项目中常常会遇到文件上传,管理多文件上传过程的需求。
bootstrap file input组件算是不错的解决方案javascript
项目Github地址:https://github.com/kartik-v/b...php
除此以外还有一个官方在线文档,提供各类示例:http://plugins.krajee.com/fil...css
组件开发多年,功能强大,最简单的集成方式却并不复杂,首先下载源代码:html
php composer.phar require kartik-v/bootstrap-fileinput "@dev"
插件兼容bootstrap3/4
引入相关文件:java
<!-- bootstrap 4.x is supported. You can also use the bootstrap css 3.3.x versions --> <link rel="stylesheet" href="/css/bootstrap.min.css"> <link href="/bootstrap-fileinput/4.4.9/css/fileinput.min.css" media="all" rel="stylesheet" type="text/css" /> <script src="/jquery-3.2.1.min.js"></script> <!-- the main fileinput plugin file --> <script src="/bootstrap-fileinput/4.4.9/js/fileinput.min.js"></script> <!-- optionally if you need translation for your language then include locale file as mentioned below --> <script src="/bootstrap-fileinput/4.4.9/js/locales/(lang).js"></script>
最简单的初始化代码以下:jquery
<input type="file" id="input-id" /> $("#input-id").fileinput();
但要完成一个基本可用的状态,还须要增长如下配置项:git
$("#cover").fileinput({ language: "zh", showCaption: false, // 不显示本地文件名 allowedFileTypes: ['image'], // 只容许上传图片 allowedFileExtensions: ["jpg", "jpeg", "png", "gif"], uploadUrl: "{{ url('uploads/image') }}" //上传图片的服务器地址 }).on('fileuploaded', function(event, data, previewId, index){ var response = data.response; $('input#coverUploader').attr('required', false); var input = $('<input type="hidden" name="cover" />'); input.attr('value', response.key); $('form').append(input); });
That's all.github