首页 > 其他分享 >fastapi接收图片文件

fastapi接收图片文件

时间:2024-01-19 14:07:07浏览次数:32  
标签:__ fastapi image base64 file import 接收 app 图片


#api接口,主函数
import base64
import io
import cv2
import os
import time
from PIL import Image
import numpy as np
from fastapi import FastAPI,HTTPException
import uvicorn

app = FastAPI()

#############################################
# @app.post("/uploadfile/")
# async def create_upload_file(file: UploadFile = File(...)):
#     contents = await file.read()
#     return {"filename": file.filename, "contents": contents}

@app.post("/upload_image")
async def upload_image(file: UploadFile):
    if not file:
        raise HTTPException(status_code=400, detail="没有收到图片文件")   
    image = await file.read() 
    try:
        # 将图片转换为base64编码
        image_base64 = base64.b64encode(image).decode('utf-8')
        
        # 将base64编码的图片解码为原始图像
        image_array = np.frombuffer(base64.b64decode(image_base64), dtype=np.uint8)
        image = cv2.imdecode(image_array, cv2.IMREAD_COLOR)
        
        # 保存图像到临时文件
        cv2.imwrite("temp.jpg", image)
        img_path = "temp.jpg"
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))
    
    return {"image_path": img_path}
@app.get("/")
async def read_root():
    return {"Hello": "World"}

if __name__ == '__main__':
    uvicorn.run(app, host="192.168.0.1", port=int("8000"))


标签:__,fastapi,image,base64,file,import,接收,app,图片
From: https://blog.51cto.com/u_12722563/9329307

相关文章

  • 上传图片,必填增加校验
    <el-form-itemlabel="产品照片:"class="product-manual-box":prop="`infoTabs[${index}].productfmId`":rules="{required:true,message:'请上传产品照片',trigger:'change'}">......
  • 根据后端id去请求拿取图片组件
    1.组件<template><img :src="srcImg?srcImg:defaultImage?getDefaultImage:''" v-bind="{...otheAttribute}" alt=""/></template><script>import{getFileInfoApi}from'@/a......
  • Python_python读写图片以及对应的库比较
    图片读写通过numpy来做数据计算的沟通JPEG是一种有损格式, 图像PNG,是一种无损格式cv2.imdecode()作用是将图像数据从存储格式中解析出来并转化为OpenCV中的图像格式 imdecode得到的影像波段顺序是RGBnp.fromfile将文本或二进制文件中数据构造成数组 cv2.imencod......
  • RTSP流截图并剔除花屏图片
    大致代码如下:importcv2importnumpyasnpfromfastapiimportHTTPExceptionRgbRangeType=tuple[tuple[int,int,int],tuple[int,int,int]]classValidationError(HTTPException):def__init__(self,detail:str,status_code=400)->None:supe......
  • C# 正则获取网页图片地址
    stringFaPiaoUrl="";stringFaPiaoImageUrl="";stringHTMLSTR=NetTools.GetR......
  • C# 中,可以使用 System.Net.Sockets 命名空间中的 UdpClient 类来发送和接收 UDP 数据
    C#中,可以使用System.Net.Sockets命名空间中的UdpClient类来发送和接收UDP数据报文。以下是一个简单的C#示例,演示如何使用UDP发送和接收数据:点击查看代码usingSystem;usingSystem.Net;usingSystem.Net.Sockets;classProgram{staticvoidMain(){......
  • Nginx 限制url访问图片资源文件
    nginx配置 location^~/uploads/{//图片文件路径valid_referersblockedwww.baidu.com;//允许访问的域名if($invalid_referer){#rewrite^/http://www.hugwww.com/daolian.gif;retur......
  • PDF转图片-itextpdf-java源码
    提供PDF文件转图片的工具类。电子签章过程中存在着在网页上对签署文件进行预览、指定签署位置、文件签署等操作,由于图片在浏览器上的兼容性和友好性优于PDF文件,所以一般在网页上进行电子签章时,会先将PDF文件转换成图片,展示给用户。用户在页面上确定好签署位置,并进行签署时,后端服......
  • PDF转图片-itextpdf-java源码
    提供PDF文件转图片的工具类。电子签章过程中存在着在网页上对签署文件进行预览、指定签署位置、文件签署等操作,由于图片在浏览器上的兼容性和友好性优于PDF文件,所以一般在网页上进行电子签章时,会先将PDF文件转换成图片,展示给用户。用户在页面上确定好签署位置,并进行签署时,后......
  • uniGUI学习之UniImage1三种导入图片方式
    uniGUI学习之UniImage1三种导入图片方式参考自带DEMO,C:\ProgramFiles(x86)\FMSoft\Framework\uniGUI\Demos\Desktop\UniImage1]  FromPicture,直接加载到Picture属性 2]从磁盘文件中加载UniImage3.Picture.LoadFromFile('0.jpg');0.jpg和应用程序.exe位置要在一......