Flask使用bootstrap为HttpServer添加上传文件功能 #华为云·寻找黑马程序员#

Flask开发vip版HttpServer #华为云·寻找黑马程序员# python HttpServer python2与python3都可以基于SimpleHTTPServer,快速创建一个http服务器,但方法略有不同。 首先进入你需要设置的http服务器目录 (我以自己电脑路径:F:/Working~Study) ,即进入到该目录下,然后: python2: python -m SimpleHTTPServer 8888 python3: python -... 阅读详情
一句题外话

昨天是老妈的生日,可惜周一上班没有办法为她庆生,只能电话问候下。但还是在这里补说一句“生日快乐!”(ps:我妈每天都会看我的公众号,哈哈…)

提个小需求

今天朋友说,之前写的文章Flask开发vip版HttpServer,具备了httpserver的下载功能,比python原生的http服务好用多了,但能否再此基础上添加一个文件上传的功能呢?必须可以啊,正好复习下bootstrap和jQuery的相关知识。

关于模态框

使用bootstrap实现点击按钮弹出窗口,简直不要太简单。我们只需要将写好的窗口内容隐藏,然后调用bootstrap的框架即可,简单几行就能完成相关功能实现…
前提条件是,我们需要引入bootstrap.min.js,直接上代码看下准备好的上传文件弹框吧…

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"> 
	<title>Bootstrap 实例 - 模态框(Modal)插件</title>
	<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
	<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
	<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<h2>创建模态框(Modal)</h2>
<!-- 按钮触发模态框 -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
	文件上传
</button>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
                <h4 class="modal-title" id="myModalLabel">
                    请选择所需上传的本地文件
                </h4>
            </div>
            <div class="modal-body">
                <form id="upload-form" enctype="multipart/form-data">
                    <input id='file' class="btn btn-info" name="upload_file" type="file">
                </form>
            </div>
            <div class="modal-footer">
                <button id='upload' class="btn btn-primary ">上传</button>
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
            </div>
		</div><!-- /.modal-content -->
	</div><!-- /.modal -->
</div>
</body>
</html>

bootstrap模态框.gif

jQuery事件与ajax

正常情况下,我们使用form表单进行上传文件,需要在表单内部添加一个type="submit"的按钮,可如何才能像demo示例中的,将上传按钮置于页面的任何位置来控制上传呢?有jQuery在,就很简单…

<script>
$('#upload')
    .click(function() {
        $('#upload').submit();
    })
</script>

由于是弹出窗口,我们选择文件后,点击上传,此时如果使用url_for()进行页面跳转,有些不符合使用习惯,那么再加深一点,引入ajax进行异步提交好了,那么全量的点击事件就变为:

<script>
$('#upload').click(function() {
    var upload_path = $('#upload_path').text();
    var formData = new FormData($('#upload-form')[0]);
    formData.append("upload_path", upload_path);
    $.post({
        url: '/upload',
        dataType: 'json',
        type: 'POST',
        data: formData,
        async: true,
        cashe: false,
        contentType: false,
        processData: false,
        success: function(returndata) {
            if (returndata['code'] == 200) {
                var info = returndata['info']
                alert(info);
            }
        },
        error: function(returndata) {
            alert("上传失败!")
        }
    })
});
</script>
关于js中使用Jinjia2

在js中直接使用jinjia2的模板引擎会报错…比如这样:alert({{Book}});,那么该怎么处理?

  • bad
    将内容写在html中,然后通过js去获取:
<p id="upload_path" style="display:none">{{path}}</p>
var upload_path = $('#upload_path').text();
  • good
    通过jinjia2的tojson过滤器,可以将变量转为json字符串
    var upload_path = {{path|tojson|safe}};
最终上传实现

软件整体效果如下:
Flask_Httpserver.gif

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,可以点击文章右下角的“在看”。
欢迎将这篇文章或我的微信公众号【清风Python】分享给更多喜欢python的人,谢谢。

在Flask项目中使用Bootstrap FileInput 在这篇文章中,我将向您展示如何在Flask项目中使用Bootstrap FileInput插件来实现文件上传功能。您可以从官方网站下载该插件的最新版本,并将其解压缩到您的项目目录中。首先,确保您已经在您的Flask项目中安装了Bootstrap,并正确引入了相关的CSS和JavaScript文件。在上面的代码中,我们首先检查请求的方法是否为POST,如果是,我们从请求中获取文件对象,并保存到服务器上指定的文件夹中。在上面的代码中,我们创建了一个包含文件上传表单的HTML页面。替换为您实际的文件路径。 阅读详情

相关推荐

Apache HTTP Server中文用户手册

本文还有配套的精品资源,点击获取 简介:Apache HTTP Server,通称为Apache,是全球广泛使用的Web服务器软件之一。本手册为中文用户提供Apache的安装、配置、管理、优化和故障排除等详细指南。内容涉及基础操作、模块管理、虚拟主机设置、安全加密措施、访问控制、日志记录、性能优化、URL重写、错误处理以及脚本语言支持。此手册旨在帮助管理员和开发者深入理解并...

weixin_42593130的博客 2076

flask处理文件上传

在Flask框架中,你可以使用`request.files`对象来处理文件上传。以下是一个简单的文件上传的示例:

weixin_41777118的博客 3454

flask-Web实现文件的上传与下载

通过flask框架实现文件的上传与下载

flask 项目中使用 bootstrapFileInput(文件夹上传篇)

bootstrap 为 flask 使用人员提供了一个非常优美且有效的前端页面组件,但是完美之处还存在些许缺陷,比如文件的上传功能.而 bootstrap-fileinput 是基于 bootstrap 的控件,非常完美的填补了这个空缺. 注意: 本文是基于 bootstrap-fileinput v4.4.2. github 地址: https://github.com/kart...

藕丝空间 3254

Python-Flaskaiohttp使用aiohttp的异步Flask

Flask-aiohttp-使用 aiohttp 的异步 Flask

关键词‖旋变传感器

旋转变压器(以下简称旋变)安装在永磁同步驱动电机的非传动端,其作用是检测转子的位置和速度。目前,通常采采用结构简单、坚固耐用、环境适应性好的磁阻式旋变作为位置传感器。

m0_72345077的博客 2151

【Flask】flask实现上传文件并在前端显示

用表单实现文件上传功能,上传至目录:static/uploads文件夹下,并对flash消息分类显示 文件组织: helloworld: app.py /templates/base.html /static/uploads app.py文件 from flask import Flask, render_template, request, flash, redirect...

qq_37935516的博客 1万+

别再手动配网了!用安信可PB-02模组+PHY Mesh App,5分钟搞定蓝牙Mesh智能灯群控

本文详细介绍了如何使用安信可PB-02模组和PHY Mesh App快速搭建蓝牙Mesh智能灯群控系统。通过5分钟的硬件连接和固件烧录,用户可实现多灯分组控制、场景切换及地理围栏等高级功能,显著提升智能家居部署效率。方案特别适合需要快速实现灯光群控的场景。

weixin_28675839的博客 419

Flask boostrap实现图片视频上传下载展示

Python boostrap

weixin_44986037的博客 1575

关于VS2019调试问题:进程已退出,代码为-1073741819(已解决)

关于VS2019调试问题:进程已退出,代码为-1073741819(已解决) 详情:上一篇发了这个进程问题,在我翻阅了《c语言程序设计第四版》和《算法与数据结构》两本书对照代码加上调试终于找到了解决方法 解决方法: 首先找到项目的源文件右击找到属性 然后选择从生成中排除选择是! 重新生成解决方案,发现代码问题: 之前的代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include &lt

qq_51553982的博客 1万+

项目实训(四)——SAM模型的学习与部署

这里的show_mask就是我们用mask的prompt进行分割,show_points就是我们用points进行分割,show_box就是通过box进行分割,这是SAM的三种prompt的方式。总的来说,Meta AI 的 Segment Anything 模型为我们提供了一种全新的物体识别和分割方式,其强大的泛化能力和广泛的应用前景将极大地推动计算机视觉领域的发展。这里有vit_h、vit_b、vit_l三种权重模型,这里可以根据自己的需要下载相应的权重模型。我们是下载的vit_h权重模型。

yyyyyyyx_的博客 1421

python bootstrap 文件上传_flask 项目中使用 bootstrapFileInput(基础篇)

bootstrap 为 flask 使用人员提供了一个非常优美且有效的前端页面组件,但是完美之处还存在些许缺陷,比如文件的上传功能.而 bootstrap-fileinput 是基于 bootstrap 的控件,非常完美的填补了这个空缺.创建蓝图 basic构建基础 html 模板app/basic/templates/basic_common/base.html 内容如下:html>{%...

weixin_31907553的博客 805

2024最新超详细无痛安装PyTorch,包括下载地址、环境配置与各种避坑指南

PyTorch更新很快,2024最新下载安装经验贴,包括anaconda+CUDA+cuDNN+PyTorch四部分的下载和安装。文章详细介绍了下载地址、环境配置、虚拟环境建立的问题,还温馨提示了各种闭坑指南。有需要的友友快过来康康!

qq_43596278的博客 11万+

flask 项目中使用 bootstrapFileInput(基础篇)

bootstrap 为 flask 使用人员提供了一个非常优美且有效的前端页面组件,但是完美之处还存在些许缺陷,比如文件的上传功能.而 bootstrap-fileinput 是基于 bootstrap 的控件,非常完美的填补了这个空缺. 注意: 本文是基于 bootstrap-fileinput v4.4.2. github 地址: https://github.com/kart...

藕丝空间 2706

避坑指南:STM32移植CanFestival时那些没人告诉你的细节(含TJA1050硬件适配)

本文深入解析STM32移植CanFestival协议栈时的关键细节与TJA1050硬件适配技巧,涵盖AVR残留代码清理、定时器中断优化及CAN通信稳定性提升方案。特别针对TJA1050在特定波特率下的信号畸变问题提供实战解决方案,帮助开发者规避移植过程中的隐形陷阱,实现工业级稳定通信。

work3的博客 761

Eclipse 数据空间组件(EDC)项目介绍

在当今数字经济的背景下,数据成为了新的“石油”。但与石油不同的是,数据可以无限共享且再生。然而,如何在保持数据主权的前提下实现高效、安全的数据共享,成为了企业和组织面临的主要挑战。这时,**Eclipse 数据空间组件(Eclipse Dataspace Components, EDC)**应运而生,它为企业在多方参与的数据交换中提供了一个标准化、可扩展的解决方案。数据空间不仅是一个多组织间的数据共享协议,还是一套支撑这些协议运行的技术基础设施。

m0_74331272的博客 4599

Flask开发vip版HttpServer

python HttpServer python2与python3都可以基于SimpleHTTPServer,快速创建一个http服务器,但方法略有不同。 首先进入你需要设置的http服务器目录 (我以自己电脑路径:F:/Working~Study) ,即进入到该目录下,然后: python2: python -m SimpleHTTPServer 8888 python3: ...

清风Python 648

【DaVinci Developer专题】-36-创建一个“既读又写”的Sender Receiver Port(SR PR-Port)

有时会遇到SWC需要对一个Port进行“既可以读,也可以写”的操作。以下图为例,Test_A_SWC中Test_A_Port是P-Port;Test_B_SWC中Test_A_Port是R-Port。Test_C_SWC需要对Test_A_Port同时进行“读”和“写”。 该篇将详细介绍PR-Port的创建方法。 目录 1 创建一个S/R Port Interface 2 将一个PR-Port端口添加至Application Component 3 PR-Port端口初始化 4 Run.

「汽车电子助手」的博客 3013

关于flask入门教程-bootstrap-fileinput实现文件上传

bootstrap-fileinput是一款非常优秀的HTML5文件上传插件,支持文件预览、多选等一系列特性。一款非常优秀的HTML5文件上传插件,支持bootstrap 3.x 和4.x...

不胜人生一场醉 1598

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

apache http 文件服务器,Apache HttpCore4.4基于NIO实现HTTP文件传输服务器

代码案例:packagecom.what21.http.core4_4.nio;importjava.io.File;importjava.io.IOException;importjava.net.URLDecoder;importjava.util.Locale;importjava.util.concurrent.TimeUnit;importorg.apache.http.E...

weixin_42455621的博客 764

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Flask使用bootstrap为HttpServer添加上传文件功能

关于模态框 使用bootstrap实现点击按钮弹出窗口,简直不要太简单。我们只需要将写好的窗口内容隐藏,然后调用bootstrap的框架即可,简单几行就能完成相关功能实现.... 前提条件是,我们需要引入bootstrap.min.js,直接上代码看下准备好的上传文件弹框吧.... <!DOCTYPE html> <html> <head> &lt...

华为云官方博客 1415

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Python Flask框架+jquery+实现异步文件上传

1.前端页面表单定义 <form role="form" class="form-horizontal" method="post" name="regForm" id="regForm" enctype="multipart/form-data"> <div class="form-group"> <label for="userPic">个人图像:&...

nosprings的博客 1250

利用flask写的接口(base64, 二进制, 上传视频流)+异步+gunicorn部署Flask服务+多gpu卡部署

一.flask写的接口 1.manage.py启动服务 这里要注意的是用docker的话,记得端口映射 #coding:utf-8 import base64 import io import logging import pickle from flask import Flask, jsonify, request from PIL import Image from sklearn...

智障变智能 4099

MarkDown添加图片的三种方式

Markdown插图片有三种方法各种Markdown编辑器的插图方式也都包含在这三种方法之内 插入本地图片 插入网络图片 把图片存入markdown文件 图片转化为base64字符串 base64字符串转化为图片 效果演示 Markdown插图片有三种方法,各种Markdown编辑器的插图方式也都包含在这三种方法之内。 插图最基础的格式就是: ![Alt text](图片链接 "o

SlaughterDevil的博客 7万+
上一篇: Python-Excel 模块哪家强 #华为云·寻找黑马程序员#
下一篇: 大型情感剧集Selenium:8_selenium网页截图的四种方法 #华为云·寻找黑马程序员#
清风 python
博客等级 码龄9年 64粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值