文件上传控件bootstrap-fileinput与Python交互

简介: 文件上传控件bootstrap-fileinput与Python进行数据交互

注意

下面的原因,可能是和后端API交互不成功的原因

  • fileinput版本不正确,需要大于5.0

  • 前端设置的name属性值和后端接收的属性值不一致

必要的css和js文件

请确保下面的js和css文件存在

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.1.0/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/popper.js/1.12.5/umd/popper.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/5.1.2/css/fileinput.min.css" rel="stylesheet"
type="text/css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/5.1.2/js/fileinput.min.js"
type="text/javascript"></script>

bootstrap-fileinput html

你可以在bootstrap-fileinput插件官网,选择其他样式

<input type="file" name="img" id="img" value="" multiple="multiple" data-show-preview="true"/>

bootstrap-fileinput js

这里是简化的配置,bootstrap-fileinput还有更强大的配置,可以在查看官网文档

 $("#img").fileinput({
        language: 'en',//设置语言
        uploadUrl: "https://ky8.top/upload_images",//图片上传的url,我这里对应的是后台struts配置好的的action方法
        showCaption: true,//显示标题
        showRemove: true, //显示移除按钮
        uploadAsync: true,//默认异步上传
        showPreview: true,//是否显示预览
        textEncoding: "UTF-8",//文本编码
        browseLabel: "Select Image",
        autoReplaceBoolean: false,//选择图片时不清空原图片
    });


    $("#img").on('fileuploaded', function (event, data, previewId, index) {//异步上传成功结果处理
        {#var img = JSON.parse(data.response);//接收后台传过来的json数据#}
        var code = data['response']['code'];
        if (code === 0) {
            document.getElementById('osimg').src = data['response']['result'];
            document.getElementById('oshref').href = data['response']['result'];
            document.getElementById('mk').innerText = '!['+ data['response']['name'] +'](' + data['response']['result'] + ')';
        }
    });

    $("#img").on('fileerror', function (event, data, msg) {//异步上传失败结果处理
        alert("uploadError");
    });

成功界面

微信截图_20201122191807.png

相关源码

  • 关注公众号:《Python数据结构》,回复 008 即可

参考文档

相关文章
|
3月前
|
前端开发 API UED
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
123 2
|
5月前
|
开发框架 JSON API
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
【7月更文挑战第22天】在Python Web开发中,设计高效的RESTful API涉及选择框架(如Flask或Django)、明确资源及使用HTTP方法(GET, POST, PUT, DELETE)来操作数据。响应格式通常是JSON,错误处理也很重要。示例展示了使用Flask创建图书管理API,包括版本控制、文档化、安全性和性能优化是最佳实践。这样的API使数据交互更顺畅。
101 2
|
1月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
53 1
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
73 1
|
2月前
|
Python
Python软链接:Python 2与现代Python的交互
Python软链接:Python 2与现代Python的交互
35 4
|
2月前
|
网络协议 Python
|
2月前
|
前端开发 API 开发者
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
49 3
|
3月前
|
Python
Python软链接:Python 2与现代Python的交互 原创
Python软链接:Python 2与现代Python的交互 原创
47 2
|
3月前
|
关系型数据库 MySQL Python
pymysql模块,python与MySQL之间的交互
pymysql模块,python与MySQL之间的交互
|
3月前
|
开发框架 JSON 缓存
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
在数字化浪潮推动下,RESTful API成为Web开发中不可或缺的部分。本文详细介绍了在Python环境下如何设计并实现高效、可扩展的RESTful API,涵盖框架选择、资源定义、HTTP方法应用及响应格式设计等内容,并提供了基于Flask的示例代码。此外,还讨论了版本控制、文档化、安全性和性能优化等最佳实践,帮助开发者实现更流畅的数据交互体验。
101 1