ユーザーが Web ブラウザーを使用してサーバーに PDF をアップロードできるようにする Web ツールを作成しています。サーバーは Python (Paste + Pyramid) に基づいています。
私が現在抱えている問題は次のとおりです。ユーザーがかなり大きなファイル (100 MB としましょう) をアップロードし、アップロードが完了する前にアップロードをキャンセルした場合、サーバー上のハンドラー コードは引き続き呼び出されます (リクエストが中止されるのではなく)。 )。
問題は、request.POST['myfile'].file
それが起こったときに が不完全であることです。これは、サーバー上のどこかに単純に書き込むと、PDF ファイルが破損していることを意味します。
サーバーのログを見ると、Paste サーバー内に「壊れたパイプ」の例外が表示されます。ただし、その例外をキャッチして、ビュー/ハンドラーコードが不完全なファイルを実行および保存するのを防ぐ方法がわかりません。