ホームページ >バックエンド開発 >Python チュートリアル >Python リクエストのファイルアップロードが失敗するのはなぜですか? どうすれば修正できますか?

Python リクエストのファイルアップロードが失敗するのはなぜですか? どうすれば修正できますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-02 18:36:12746ブラウズ

Why Are My Python Requests File Uploads Failing, and How Can I Fix Them?

Python リクエストによるファイルのアップロード

Python リクエスト ライブラリを使用してファイルをアップロードしようとすると、ファイルがアップロードされていない状況が発生する場合があります。サーバーによって正常に受信されました。これは、特に他のソリューションに問題を解決するために必要な洞察が欠けている場合にイライラする可能性があります。

問題の理解

ここで説明した特定の例では、ユーザーは次を使用してフォーム送信を通じてファイルをアップロードしていました。 request.post() メソッド。正しいファイル名と内容を指定したにもかかわらず、サーバーはアップロードされたファイルを認識しませんでした。代わりに、アップロードされたファイルが空であると報告されました。

解決策

この問題を解決する鍵は、ファイルのパラメータと、requests.post() のデータ引数を正しく指定することにあります。方法。ファイルをアップロードするときは、ファイル名とその内容のマッピングを指定することが重要です。この場合、ユーザーはファイル引数とデータ引数の両方を設定しようとしました。

Python リクエストでファイルをアップロードするための正しい方法は、ファイル引数を使用してファイルのマッピングを指定することです。この問題を修正する更新されたコード スニペットは次のとおりです。

import requests

url = 'http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
files = {'upload_file': open('file.txt', 'rb')}
values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'}

r = requests.post(url, files=files, data=values)

files 引数にファイル マッピングを配置すると、リクエスト ライブラリは、適切なヘッダーの設定を含め、マルチパート フォームの送信を自動的に処理します。

高度なシナリオの処理

場合によっては、ユーザーはファイルのアップロード プロセスをさらに制御する必要があるかもしれません。 Python リクエストは、ファイル名やコンテンツ タイプの指定など、ファイル マッピングをカスタマイズするためのさまざまなオプションをサポートしています。ファイルから POST 本文全体をアップロードするなど、より複雑なシナリオの場合は、ファイル引数なしでデータ引数を使用できます。

結論

ファイルとデータの正しい使用方法を理解することで、引数を指定すると、ユーザーは Python リクエストを使用してファイルを正常にアップロードできます。これにより、ファイルのアップロードを自動化されたスクリプトやプログラムにシームレスに統合できます。

以上がPython リクエストのファイルアップロードが失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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