博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node项目之bootstrap-fileinput- 上传插件使用
阅读量:2822 次
发布时间:2019-05-13

本文共 2333 字,大约阅读时间需要 7 分钟。

该项目前台表单上使用的是bootstrap-fileinput的样式,bootstrap-fileinput是挺强大的一个文件上传插件,注意是文件上传,不仅仅只是针对图片上传,初次接触它光是调成自己想要的样式也是花了半天时间呢,下面简单介绍一下需求收集平台这个项目使用的这个插件一些细节问题。

对了,别忘了详细看下官方说明文档:,英文的,看着头疼也要看下去。

1. 提交模式

首先文档简要对比了一下两种上传模式,一是表单方式提交,一是Ajax方式提交。从下图可以看出官方显然是推荐你使用Ajax方式上传的,很明显使用Ajax方式上传更加自由,并且能获取更多的功能。

2. 导入文件

然后需要导入必要的CSS以及JS文件,以下这些是必须要导入的,别调试了半天才发现插件都没有导入就搞笑了。

  1. bootstrap.css

  2. bootstrap.js

  3. jquery.js

  4. bootstrap-fileinput/css/fileinput.css

  5. bootstrap-fileinput/js/fileinput.js

  6. bootstrap-fileinput/js/locales/zh.js (中文语言文件,可选择是否导入)

自己对号入座,寻找对应的文件,以上6个必须要导入,bootstrap-fileinput/js/plugins/目录里还有一些插件视具体实现的功能导入。

3. 基本使用

接下来就是插件的使用了,起初我就是为了改善一下file类型的表单的样式,默认的文件上传样式实在不忍直视。

在不引入bootstrap-fileinput插件相关文件的时候,如下html代码:

显示的效果是这样的:

在引入bootstrap-fileinput插件后,同样的html代码,显示效果是这样的:

引入基本文件后,在页面底端添加一行js代码$('#myfile').fileinput();,就能出现不一样的效果。完整的HTML代码如下:

  fileinput-example  

fileinput-example

接下来,上传几个文件试试默认的样式是啥样。

  • 上传一个图片试试

  • 上传一个文件试试

看起来是不是还可以,该项目最终显示成如下样子:

功能上做了一些限制,比如允许上传多张照片,但只允许上传3张,每个照片最大只能是1MB。要想实现一些控制,那么就要了解下面的一些参数。

4. 控制参数

在官方的说明文档里都有介绍,但是很多情况,虽然有说明但也不一定能看懂,对于该插件的功能我也不并不是很熟悉,我只是实现了我想要的效果,有兴趣的可以自行学习。

下面是该项目中配置的一些参数:

$("#input-id").fileinput({    showUpload: false,    previewFileType: 'any',    language: 'zh',    browseLabel: '图片多选',    browseClass: 'btn btn-default',    allowedFileTypes: ['image'], // 限制文件类型为图片    allowedFileExtensions: ['jpg', 'png'], // 限制文件后缀名为jpg,png,gif    maxFileCount: 3,  // 限制最多3张图片    maxFileSize: 1024, // 限制图片大小,最大1024KB    allowedPreviewTypes: ['image'], // 允许预览的文件类型    initialCaption: '可以选择最多3张图片,格式为png或者jpg,大小不超过1M', // 初始化说明框框,比如该项目上默认显示:可以选择最多3张图片,格式为png或者jpg,大小不超过1M    layoutTemplates: {      main1: '{preview}\n' +      '
\n' + '
\n' + ' {browse}\n' + ' {remove}\n' + '
\n' + ' {caption}\n' + '
', footer: '
' } }); // 修改默认样式,比如按钮移到左侧,预览窗口中图片的脚标等等(这里只显示文件名,如下图)

这里只是简单介绍了一下bootstrap-fileinput插件的简单功能,更多功能的学习还是要靠自己的研究,特别是Ajax上传功能。作者研究深度有限,暂不做过多介绍了,有机会的话,再做深入学习并分享。

转载地址:http://bckhd.baihongyu.com/

你可能感兴趣的文章
【干货】PyTorch Tricks 集锦
查看>>
【业界分享】字节跳动如何用 7 年,成为腾讯最可怕的对手?张一鸣一语道破...
查看>>
【机器学习】朴素贝叶斯
查看>>
快速排序
查看>>
计数排序
查看>>
桶排序
查看>>
解决layui动态加载复选框无法选中
查看>>
为什么要前后端分离?有什么优缺点?
查看>>
Python监听键盘和鼠标事件,将切割后的监听信息发送指定邮箱
查看>>
ELASTIC-PHP + IK分词器 + THINKPHP6 初次使用 (关键词查询)
查看>>
2017.1.3linux下的C,数组与指针
查看>>
2017.1.4linux下的C语言--函数
查看>>
2017.1.5linux下C语言--函数与指针
查看>>
2017.1.5-linux下的C语言开发---字符与字符串处理
查看>>
2017.1.8linux下的C--结构体
查看>>
2017-1-9-linux系统下的C语言--时间函数
查看>>
2017.1.9--linux下的C语言--目录与文件
查看>>
2017.1.11--linux下的C语言--文件I/O
查看>>
代码及Linux中常见的函数(仅自己使用)
查看>>
148. Sort List (python)
查看>>