FastAPI 学习之路(一)上传文件

FastAPI 学习之路(一)上传文件

UploadFile 的优势
  • 文件存储在内存,达到阈值后,将保存到磁盘中
  • 适用于 图片、视频大文件 …
  • 可以获取上传文件的元数据,如 文件名、类型、创建时间 …
  • 有文件对象的异步接口
  • 上传的文件是 Python文件对象,可以使用 write()、read()、seed()、close() 进行操作
单个文件的上传
from typing import List
from fastapi import APIRouter, Body, File,UploadFile

router = APIRouter()

@router.post('/up_file', response_description="Worker data added into the database")
async def up_file(
        file: UploadFile = File(...),
        # files: List[UploadFile] = File(...) # 一次性上传多个文件
):
    file_content = await file.read()  # 读取文件
    with open(file.filename,"wb") as f:
        f.write(file_content)
    return {
        'file_name': file.filename,
        'file_type': file.content_type,
    }
多个文件的上传
@router.post("/multi/up_file/", response_description="Worker data added into the database")
async def multi_up_file(files: List[UploadFile] = File(...)):
    results = []
    for file in files:
        content = await file.read() # 读取文件
        print(content)
        results.append({"filename": file.filename, "content_type": file.content_type})
    return results

上面读写文件的方式通过异步方式完成,调用如下

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于fastapi的爬虫可视化调度系统源码+项目部署说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 自动生成迁移文件 ```shell alembic revision --autogenerate -m "init commit" ``` ### 生成表 ```shell alembic upgrade head ``` ### 生成初始化账号密码 ```shell cd app python initial_data.py ``` ```shell username: [email protected] password: 123456 ``` 功能 - [x] 登录/注销 - [x] Dashboard - [x] 支持切换主题色 :sparkles: - [x] 远程批量部署和调用 - [x] 任务日志 - [x] 新增节点、测试节点 - [x] 主机节点详细指标 - [x] 国际化 // 进入模板目录 cd crawlfont // 安装项目依赖,等待安装完成之后,安装失败可用 cnpm 或 yarn npm install // 开启服务器,浏览器访问 http://localhost:8080 npm run dev // 执行构建命令,生成的dist文件夹放在服务器下即可访问 npm run build ``` 二、如何切换主题色呢? 第一步:打开 `src/main.js` 文件,找到引入 element 样式的地方,换成浅绿色主题。 ```javascript import 'element-ui/lib/theme-default/index.css'; // 默认主题 // import './assets/css/theme-green/index.css'; // 浅绿色主题 ``` 第二步:打开 src/App.vue 文件,找到 style 标签引入样式的地方,切换成浅绿色主题。 ```javascript @import "./assets/css/main.css"; @import "./assets/css/color-dark.css"; /*深色主题*/ /*@import "./assets/css/theme-green/color-green.css"; !*浅绿色主题*!*/ ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值