FastAPIでファイルのアップロードを保存する方法


  1. FastAPIのインストールとセットアップ:

    pip install fastapi
  2. FastAPIアプリケーションの作成:

    from fastapi import FastAPI, File, UploadFile
    app = FastAPI()
  3. ファイルのアップロードと保存のエンドポイントを作成:

    @app.post("/upload-file/")
    async def upload_file(file: UploadFile = File(...)):
       contents = await file.read()
       with open(file.filename, "wb") as f:
           f.write(contents)
       return {"filename": file.filename}

    上記のコードでは、/upload-file/エンドポイントに対してPOSTリクエストを送信することでファイルをアップロードします。UploadFileを使用してファイルを受け取り、read()メソッドを使用してファイルの内容を読み取ります。そして、open()関数を使用してファイルを保存します。

  4. FastAPIアプリケーションの実行:

    if __name__ == "__main__":
       import uvicorn
       uvicorn.run(app, host="0.0.0.0", port=8000)

    上記のコードを実行すると、FastAPIアプリケーションがローカルホストのポート8000で実行されます。

これで、FastAPIを使用してファイルのアップロードと保存ができるようになりました。必要に応じてエンドポイントやファイルの保存場所を調整してください。