はい、同じことがUnixシステムにも当てはまります...「ドライブ文字」はより多くのパスであるため、/ opt / django/YourAppと/opt/ django/tmpUploadDirは実際には2つの異なるデバイスであることがわかります。
したがって、「移動」を信頼することは、概して、それだけの価値はありません。一方、クライアントが「100%完了」ダイアログを閉じた後、クライアントの表示プロセスの外部でコピーを行うことができます。
または、合計パーセンテージにコピー時間を考慮に入れることもできます。コピー速度が1Mb/秒であり、ネットワークのアップロード速度が100Kb/秒で進行していることを確認したとします。次に、1 GBのファイルの合計転送時間は1100秒(1000ではない)であり、「古い」パーセンテージがXであると計算されると、X * DiskSpeed /(DiskSpeed + NetworkSpeed)として表示できるようになります。 。ユーザーがファイルを100%アップロードすると、進行状況バーが91%で表示され、コピーも完了すると100%に達するまで増加します。
この最後の方法は、処理が単純なコピー以上のものである場合、たとえばffmpegを介してビデオを再コーディングする場合に有利に使用できます。ただし、事前に処理時間を正確に推測する必要があります。そうしないと、「アップロード」バーが作成され、単調ではありませんが(つまり、80%から79%になることはありません)、フィットが進みます。と開始します。
私の意見では、アップロード時間と比較して、コピー時間はごくわずかであり、無視しても問題ありません。そうでない場合は、2番目の異なるプログレスバーを表示して、ユーザーが「異常」と思われるものを何も表示しないようにすることができます。