fastAPI、多线程、通过http上传文件

from typing import Union
from pydantic import BaseModel, EmailStr
from fastapi import FastAPI
import threading
import wget
from urllib3 import encode_multipart_formdata

#python通过http上传视频文件
def <函数名>(<参数>):
    file = {'<key>': (<filename>, open(<file_path>,'rb').read()), 'fileType':'video/mp4'}
    encode_data = encode_multipart_formdata(file)
    file_data = encode_data[0] 
    headers_from_data = {"Content-Type": encode_data[1],} 

    r=requests.post("<url地址>", headers=headers_from_data, data=file_data)
    print(r.json())


app = FastAPI()

class item(BaseModel):
    name: str
    pic: str
    audio: str

@app.post("/post")
def postest(<name_str>: item):
    print(<name_str>.name)
    filepath = <name_str>.filepath
    pic_pth = wget.download(<name_str>.pic,  out = <save_dir> + "/source_img.png")
    audio_pth = wget.download(<name_str>.audio, out = <save_dir> + "/driven_audio.wav")
    thread1 = threading.Thread(target=<函数名>, args = (<函数的参数>))
    thread1.start()

    return {'code': 200}

postman测试:

uvicorn <文件名>:app --host '0.0.0.0' --port <port>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值