upload files in fast api

 main.py


from typing import Union

from fastapi import FastAPI


# imprting required modules

from fastapi import UploadFile, File, status

import shutil, uuid, json

from fastapi.staticfiles import StaticFiles

from fastapi.exceptions import HTTPException



app = FastAPI()


# mounting the 'files' folder

app.mount('/files', StaticFiles(directory='files'),'files')


# upload file into 'files/' folder

@app.post("/upload-file")

def upload_files(uploaded_file: UploadFile = File(...)):

    # will generate a unique file hashname

    unique_filename = str(uuid.uuid4()) + "_" + uploaded_file.filename


    path = f"files/{unique_filename}"

    with open(path, 'w+b') as file:

        shutil.copyfileobj(uploaded_file.file, file)


    return {

        "message": "file uploaded",

        'file': unique_filename,

        'content': uploaded_file.content_type,

        'path': path,

    }

-----------------------------------------------------------------------------------------------------------------------

readme

This is a sample code project for fast api to upload image and other format[.pdf/.csv/.doc] files.


helpful doc: https://medium.com/@kevinkoech265/file-uploads-and-downloads-in-fastapi-a-comprehensive-guide-06e0b18bb245#:~:text=FastAPI's%20UploadFile%20class%20is%20used,filename%20of%20the%20uploaded%20file.


packages:

pip install python-multipart





Popular posts from this blog

MCSL 216 MCA NEW Practical ~ common questions suggestions

dev chaeatsheet

STRAPI