项目中经常会遇到文件上传,管理多文件上传过程的需求。
bootstrap file input组件算是不错的解决方案
项目Github地址:https://github.com/kartik-v/b...
除此之外还有一个官方在线文档,提供各种示例:http://plugins.krajee.com/fil...
组件开发多年,功能强大,最简单的集成方式却并不复杂,首先下载源代码:
php composer.phar require kartik-v/bootstrap-fileinput "@dev"
插件兼容bootstrap3/4
引入相关文件:
<!-- 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>
最简单的初始化代码如下:
<input type="file" id="input-id" />
$("#input-id").fileinput();
但要完成一个基本可用的状态,还需要增加以下配置项:
$("#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.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。