Bootstrap-fileinput的使用方法

在<head>中引入Bootstrap相关js和css:

    <link href="/static/CSS/bootstrap.min.css" rel="stylesheet">
        <script type="text/javascript" src="/static/JS/jquery-2.1.4.min.js"></script>
    <script type="text/javascript" src="/static/JS/bootstrap.min.js"></script>

再引入Bootstrap-fileinput:

<link rel="stylesheet" type="text/css" media="screen" href="/static/CSS/fileinput.min.css">
    <script type="text/javascript" src="/static/JS/fileinput.min.js" charset="UTF-8"></script>
<script src="/static/JS/locales/fileinput_locale_zh.js" charset="utf-8"></script><!--汉化-->

使用文件上传的input如下:

//以二进制的格式上传表单数据,文件上传必须
<form method="POST" role="form" id="S1" enctype="multipart/form-data" >
//mutiple是支持多文件上传,name='image'为了使后台获得此表单值,request.file.getList('image')
<input type="file" class="file" multiple=""  name="image" data-overwrite-initial="false" data-min-file-count="1">
<h5><small>仅支持jpe、png、gif格式图片上传</small></h5>

在body中设置Bootsttrap-fileinput相关参数(对应input的class="file"):

            <script type="text/javascript">
            $('.file').fileinput({
                language: 'zh', //设置语言
                allowedFileExtensions : ['jpg', 'png','gif'],//接收的文件后缀,
                maxFileCount: 100,
                showUpload: true, //是否显示上传按钮
                showCaption: true,//是否显示标题
                browseClass: "btn btn-primary", //按钮样式             
            });
</script>


后台处理:

多文件上传:

if request.files.getlist('image'):
    for i in request.files.getlist('image'):
        i.save('url')#url带文件名,如/home/1.jpe

单文件上传( 把上传表单的mutiple属性去掉)

request.files.get('image')




方法二:

也可在flask项目中的form.py中定义上传表单(一个form中存在两个上传表单可用这个方法避免出错):

file = FileField('filename')

前端代码:

{{ form.comfile(class='file') }}//括号内传入相关样式

后台:

if form.file.data:
    form.file.data.save(url)

疑问:此方法只能单文件上传,怎么实现多文件上传?


疑问:在jinja2中form中的button不生效?只能用input?





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值