Bootstrap-fileinput的使用方法

来源:互联网 发布:淘宝诸葛恪激活码 编辑:程序博客网 时间:2024/06/04 20:07

在<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
原创粉丝点击