ホームページ バックエンド開発 Python チュートリアル FastAPI でファイルのアップロードと処理を実装する方法

FastAPI でファイルのアップロードと処理を実装する方法

Jul 28, 2023 pm 03:01 PM
fastapi 対処する アップロード

FastAPI でファイルのアップロードと処理を実装する方法

FastAPI は、使いやすく強力な最新の高パフォーマンス Web フレームワークで、ファイルのアップロードと処理のネイティブ サポートを提供します。この記事では、FastAPI フレームワークでファイルのアップロードおよび処理関数を実装する方法を学び、具体的な実装手順を示すコード例を示します。

まず、必要なライブラリとモジュールをインポートする必要があります:

from fastapi import FastAPI, UploadFile, File
from fastapi.responses import JSONResponse
import shutil
import os
ログイン後にコピー

次に、FastAPI アプリケーション インスタンスを作成する必要があります:

app = FastAPI()
ログイン後にコピー

これで、ルートを定義できます。ファイルのアップロード リクエストを受け入れ、ファイルをサーバーに保存します。

@app.post("/upload/")
async def create_upload_file(file: UploadFile = File(...)):
    try:
        # 保存文件到服务器上
        with open(file.filename, "wb") as buffer:
            shutil.copyfileobj(file.file, buffer)
        
        # 返回成功的响应
        return JSONResponse({"message": "File uploaded successfully"})
    except Exception as e:
        # 返回失败的响应
        return JSONResponse({"error": str(e)}, status_code=500)
ログイン後にコピー

上記のコードでは、POST リクエスト ルート /upload/ を定義します。 file という名前のパラメータ、パラメータのタイプは UploadFile です。File 関数を使用して、リクエスト本文内のファイルとして解析します。 File 関数の最初のパラメータはファイル タイプのデフォルト値です。... は、このパラメータを渡す必要があることを意味します。渡さないと、エラー応答が返されます。

ファイル アップロード リクエストを処理するときは、まず with open を使用してファイル書き込みストリームを作成し、次に shutil.copyfileobj 関数を使用してリクエスト本文を配置します。 into ファイル オブジェクトがサーバーにコピーされます。

ファイルが正常にアップロードされると、成功メッセージを含む JSON 応答が返されます。ファイルのアップロード中に例外が発生した場合は、エラー情報を含む JSON 応答が返され、応答ステータス コードが 500 に設定されます。

ファイルアップロード機能を実装した後、引き続きファイル処理機能を実装できます。以下は、アップロードされた画像ファイルを受け入れ、画像ファイルをサムネイルに変換するルートの例です。

@app.post("/process_image/")
async def process_image(file: UploadFile = File(...)):
    try:
        # 保存文件到服务器上
        with open(file.filename, "wb") as buffer:
            shutil.copyfileobj(file.file, buffer)
        
        # 进行图片处理,生成缩略图
        thumbnail_filename = f"thumbnail_{file.filename}"
        # 模拟图片处理过程
        # 请根据实际需求进行实现
        # ...
        
        # 返回缩略图的下载链接
        return JSONResponse({"thumbnail_url": f"/download/{thumbnail_filename}"})
    except Exception as e:
        # 返回失败的响应
        return JSONResponse({"error": str(e)}, status_code=500)
ログイン後にコピー

上記のコード例では、同じファイル アップロード プロセスを使用してから、画像処理ロジックに移りました。ここでは、シミュレーションを使用して画像ファイルを処理し、サムネイルを生成し、サムネイルのダウンロード リンクをクライアントに返します。

最後に、ダウンロード機能を提供するルートを定義することもできます。

@app.get("/download/{filename}")
async def download_file(filename: str):
    try:
        # 返回文件下载链接
        return JSONResponse({"download_url": f"/file/{filename}"})
        
    except Exception as e:
        # 返回失败的响应
        return JSONResponse({"error": str(e)}, status_code=500)
ログイン後にコピー

上記のコードでは、GET リクエスト ルート /download / を定義します。 {filename}、このルートはファイル名パラメータ filename を受け入れ、ファイルのダウンロード リンクを返します。

これで、ファイルのアップロードと処理の機能が FastAPI フレームワークに実装されました。上記のサンプル コードを通じて、FastAPI でのファイルのアップロードと処理の基本的なプロセス、およびこれらの機能を実装するための FastAPID の API とメソッドの使用方法を理解できます。もちろん、特定のファイル処理ロジックは実際のニーズに応じてカスタマイズできます。

この記事が、FastAPI でファイルのアップロードと処理関数を実装する方法を理解するのに役立つことを願っています。

以上がFastAPI でファイルのアップロードと処理を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WIN10サービスホストの動作プロセスがCPUを過剰に占有している WIN10サービスホストの動作プロセスがCPUを過剰に占有している Mar 27, 2024 pm 02:41 PM

1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

Kugou に独自の音楽をアップロードする簡単な手順 Kugou に独自の音楽をアップロードする簡単な手順 Mar 25, 2024 pm 10:56 PM

1. Kugou Music を開き、プロフィール写真をクリックします。 2. 右上隅にある設定アイコンをクリックします。 3. [音楽作品をアップロード]をクリックします。 4. [作品アップロード]をクリックします。 5. 曲を選択し、[次へ]をクリックします。 6. 最後に[アップロード]をクリックします。

写真を撮ってパソコンにアップロードする方法 写真を撮ってパソコンにアップロードする方法 Jan 16, 2024 am 10:45 AM

パソコンにカメラが付いていれば写真を撮ることができますが、写真を撮ってアップロードする方法がわからないユーザーもいます。ユーザーは好きな場所に写真をアップロードできるようになります。写真を撮ってコンピュータにアップロードする方法 1. Mac コンピュータ 1. Finder を開き、左側のアプリケーションをクリックします。 2. 開いたら、「カメラ」アプリケーションをクリックします。 3. 下の写真ボタンをクリックしてください。 2. Windows コンピュータ 1. 下の検索ボックスを開いて「カメラ」と入力します。 2. 次に、検索されたアプリケーションを開きます。 3. その横にある写真ボタンをクリックします。

QQ Musicに歌詞をアップロードする方法 QQ Musicに歌詞をアップロードする方法 Feb 23, 2024 pm 11:45 PM

デジタル時代の到来により、音楽プラットフォームは人々が音楽を入手する主な方法の 1 つになりました。しかし、曲を聴いていると歌詞がないことに気づき、非常に不安になることがあります。曲の内容や感情をより深く理解するために、曲を聴くときに歌詞が表示されることを望む人は多いでしょう。 QQ Music は中国最大の音楽プラットフォームの 1 つとして、ユーザーがより音楽を楽しみ、曲の含意を感じることができるように、ユーザーに歌詞をアップロードする機能も提供しています。 QQ Musicに歌詞をアップロードする方法を紹介します。初め

CSV ファイル操作のクイックガイド CSV ファイル操作のクイックガイド Dec 26, 2023 pm 02:23 PM

CSV 形式ファイルを開いて処理する方法を簡単に学習します。データ分析と処理の継続的な開発により、CSV 形式は広く使用されるファイル形式の 1 つになりました。 CSV ファイルは、さまざまなデータ フィールドがカンマで区切られた、シンプルで読みやすいテキスト ファイルです。学術研究、ビジネス分析、データ処理のいずれの場合でも、CSV ファイルを開いて処理する必要がある状況に頻繁に遭遇します。次のガイドでは、CSV 形式ファイルを開いて処理する方法をすぐに学ぶ方法を説明します。ステップ 1: CSV ファイル形式を理解する まず、

パソコンのアップロード速度を改善する方法 パソコンのアップロード速度を改善する方法 Jan 15, 2024 pm 06:51 PM

アップロード速度が非常に遅くなりますか?これは、多くの友人がコンピューターにアップロードするときに遭遇する問題だと思います。コンピューターを使用してファイルを転送するときにネットワークが不安定だと、アップロード速度が非常に遅くなります。では、ネットワークのアップロード速度を上げるにはどうすればよいでしょうか?以下では、エディターがコンピューターのアップロード速度が遅いという問題を解決する方法を説明します。ネットワーク速度に関しては、Web ページを開く速度、ダウンロード速度、アップロード速度も非常に重要であることは誰もが知っています。特に一部のユーザーはファイルをネットワーク ディスクにアップロードする必要があることが多いため、アップロード速度が速いと間違いなく節約になります。お金がたくさんあります。時間がなくなりました。アップロード速度が遅い場合はどうすればよいですか?以下では、エディターがコンピューターのアップロード速度が遅い場合の対処方法についての写真とテキストを提供します。コンピューターのアップロード速度が遅いという問題を解決するには、「スタート」-「ファイル名を指定して実行」または「Window キー」をクリックします。

C# 開発で XML および JSON データ形式を処理する方法 C# 開発で XML および JSON データ形式を処理する方法 Oct 09, 2023 pm 06:15 PM

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。

PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 Mar 27, 2024 pm 12:39 PM

PHP 開発のプロセスでは、特殊文字の処理が一般的な問題になります。特に文字列処理では、特殊文字がエスケープされることがよくあります。その中でも、特殊文字を一重引用符に変換することは比較的一般的な要件です。これは、PHP では一重引用符が文字列をラップする一般的な方法であるためです。この記事では、PHP での特殊文字変換シングルクォーテーションの扱い方と具体的なコード例を説明します。 PHP では、特殊文字には一重引用符 (')、二重引用符 (")、バックスラッシュ () などが含まれますが、これらに限定されません。

See all articles