python Flask 写一个简易的 web 端上传文件程序 (附demo)

这篇具有很好参考价值的文章主要介绍了python Flask 写一个简易的 web 端上传文件程序 (附demo)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


需求

在当今数字化时代,文件上传需求日益普遍。无论是个人还是企业,都可能需要实现文件上传功能。为此,本文将分享如何使用Python Flask框架创建一个简易的Web端上传文件程序。

介绍

需要源码的留下邮箱,私信也会看,不过看的不勤,留言有通知。文章来源地址https://www.toymoban.com/news/detail-852847.html

Flask 是一个用于构建 Web 应用程序的轻量级 Python Web 框架。它设计简单、易于学习和使用,但同时也非常灵活,适用于从小型项目到大型应用程序的各种场景。

核心代码:


@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return '无文件部分'

    file = request.files['file']

    if file.filename == '':
        return '没有可选择的文件'

    if file:
        # 设置文件存储路径
        upload_path = os.path.join('static/uploads', file.filename)

        # 检测路径是否存在,不存在则创建
        if not os.path.exists(os.path.dirname(upload_path)):
            os.makedirs(os.path.dirname(upload_path))

        # 存储文件
        file.save(upload_path)
        return '文件已上传'

在Flask中,request.files 是用于处理上传文件的对象。当用户通过表单上传文件时,这个对象可以用来访问和处理上传的文件数据。request.files 是一个字典,其中键是表单中文件上传字段的名称,值是与该字段相关联的文件对象。

request.files 字典中文件对象常见的字段和方法:

字段/方法 描述 示例
filename 获取上传文件的原始文件名 filename = request.files[‘file’].filename
stream 获取文件的二进制流,可用于读取文件内容 file_content = request.files[‘file’].stream.read()
content_type 获取文件的MIME类型。 content_type = request.files[‘file’].content_type
content_length 获取文件的内容长度(以字节为单位) content_length = request.files[‘file’].content_length
save(destination) 将上传的文件保存到指定的目标路径destination是保存文件的路径,可以是相对路径或绝对路径 request.files[‘file’].save(‘uploads/’ + filename)

file.save() 是用于将上传的文件保存到指定的目标路径。

文件结构

下面我们介绍一下我们的文件结构

python 建立一个上传文件的网页 程序,Python,数据库

前端文件

templates.index.html

后端文件

main.py

完整代码

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>文件工作台</title>
</head>
<body>
<h1>文件工作台</h1>
<form>
    <input type="file" id="file" name="file">
    <button type="button" onclick="uploadFile()">上传文件</button>
</form>
</body>
</html>

<script>
    function uploadFile() {
        var fileInput = document.getElementById('file');
        var file = fileInput.files[0];

        if (file) {
            var formData = new FormData();
            formData.append('file', file);
            var xhr = new XMLHttpRequest();
            xhr.open('POST', '/upload', true);
            xhr.onload = function () {
                if (xhr.status == 200) {
                    alert('文件上传成功');
                } else {
                    alert('文件上传失败');
                }
            };
            xhr.send(formData);
        } else {
            alert('请选择一个文件');
        }
    }
</script>

main.py

import os

from flask import Flask, request, render_template

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return '无文件部分'

    file = request.files['file']

    if file.filename == '':
        return '没有可选择的文件'

    if file:
        # 设置文件存储路径
        upload_path = os.path.join('static/uploads', file.filename)

        # 检测路径是否存在,不存在则创建
        if not os.path.exists(os.path.dirname(upload_path)):
            os.makedirs(os.path.dirname(upload_path))

        # 存储文件
        file.save(upload_path)
        return '文件已上传'


if __name__ == '__main__':
    app.run()

演示

python 建立一个上传文件的网页 程序,Python,数据库
python 建立一个上传文件的网页 程序,Python,数据库

需要源码的留下邮箱,私信也会看,不过看的不勤,留言有通知。

到了这里,关于python Flask 写一个简易的 web 端上传文件程序 (附demo)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一个简单的Web程序(详解创建一个Flask项目后自带的一个简单的Web程序)

    程序代码截图如下:  在创建 Flask 程序时,通常需要先创建一个应用实例进行应用初始化。 上述代码中,使用 Flask 类创建了一个应用实例 app。 __name__ 参数用于获取当前代码文件的文件名,作为应用实例的名称。 if __name__ == \\\'__main__\\\': app.run(debug=True) 用于启动服务器并运行应

    2024年01月20日
    浏览(33)
  • Flask Web API构建实例:GET、POST文件上传、静态资源下载一网打尽

      以下是一个通过 Flask 构建 Web API 服务的详细示例,包含了各类请求(GET、POST、文件上传、静态资源下载)、每个方法独立配置路由、参数接收和解析、请求日志记录以及异常日志记录。请确保你已经安装了 Flask,你可以使用以下命令进行安装: 接下来是一个包含详细注释

    2024年02月04日
    浏览(40)
  • 【Python】使用pycharm结合gradio做一个web页面的demo

    紧接上文我们安装好了python3.10,现在需要下载它的开发工具pycharm,我们在这里不过多赘述具体细节,仅简要说明关键步骤,来通过gradio体验一下示例demo pycharm官网:https://www.jetbrains.com.cn/pycharm/ 然后再创建一个 app.py 的一个Python文件 我们需要把 Python解释器 设置为我们前面安

    2024年02月15日
    浏览(26)
  • 【Python】flask框架请求体数据,文件上传,请求头信息获取方式案例汇总

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年03月22日
    浏览(25)
  • python flask创建服务器实现文件的上传下载,已获千赞

    } 二、后端代码(python) import os from string import Template from flask import Flask, send_file,request,jsonify from flask_cors import CORS import time app = Flask( name ) absolute = os.path.dirname( file ) CORS(app) app.debug = True FOLDER = os.path.join(absolute, ‘save_file’) HOST = “localhost” PORT = 8080 UPLOAD = ‘upload’ app.config

    2024年04月22日
    浏览(26)
  • 使用Python Flask搭建一个简单的Web站点并发布到公网上访问

    Flask是一个Python编写的Web微框架,让我们可以使用Python语言快速实现一个网站或Web服务,本期教程我们使用Python Flask搭建一个web问答应用程序框架,并结合cpolar内网穿透工具将我们的应用程序发布到公共网络上,实现可多人远程进入到该web应用程序访问。 在操作上我们将使用

    2024年02月04日
    浏览(34)
  • python:使用RESTful API(flask)调用python程序传递参数,实现Web端调用python程序

    现有一个用python写的程序(或者是一个或几个的函数接口),需要在Web前端调用python写的函数。如果直接用前端java来调用会很不方便,而且会出现各种麻烦的问题,下面给出如何在web前端调用python的接口。 使用python的RESTful API库将python写的函数封装为Web端可调用的接口,在

    2024年01月20日
    浏览(30)
  • 本地部署Python Flask并搭建web问答应用程序框架实现远程访问

    Flask是一个Python编写的Web微框架,让我们可以使用Python语言快速实现一个网站或Web服务,本期教程我们使用Python Flask搭建一个web问答应用程序框架,并结合cpolar内网穿透工具将我们的应用程序发布到公共网络上,实现可多人远程进入到该web应用程序访问。 在操作上我们将使用

    2024年02月05日
    浏览(44)
  • 使用Python Flask搭建Web问答应用程序并发布到公网远程访问

    Flask是一个Python编写的Web微框架,让我们可以使用Python语言快速实现一个网站或Web服务,本期教程我们使用Python Flask搭建一个web问答应用程序框架,并结合cpolar内网穿透工具将我们的应用程序发布到公共网络上,实现可多人远程进入到该web应用程序访问。 在操作上我们将使用

    2024年02月05日
    浏览(34)
  • python实现Flask GET Demo

    python代码 get方法可以不需要任何前端代码,直接运行以上Python代码,控制端会有以下输出 http://127.0.0.1:5000为我们的URL,因为我们做了/data的路由,所以在浏览器地址栏输入http://127.0.0.1:5000/data?data=2013.9 页面可以返回python文件中设定的json格式数据:

    2024年02月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包