問題タブ [resume-download]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 再開をサポートするスプリング コントローラーからファイルをダウンロードする
上記は元の記事ですが、サポートを再開したいと考えています。つまり、最初に 51% をダウンロードし、別の機会に別の 49% をダウンロードできます。
環境トムキャット7.0.39
私はいくつか試しましたが、それでも失敗しました。
ここに私のコードがあります、またはあなたのコードを共有することができます
修正済み、これは私の編集済みバージョンです
download - WinInet は最初からやり直さずにファイルのダウンロードを再開できますか?
InternetSetFilePointer
、およびの組み合わせを使用してInternetReadFile
、再開可能なダウンロードをサポートしています。そのため、ファイルのダウンロードを開始するときは、既にその一部があるかどうかを確認し、持っているファイルInternetSetFilePointer
のサイズを使用して呼び出してから、読み取りを開始します。これは機能します...しかし、ここに私の観察があります:
ファイルの 90% をダウンロードし、ダウンロードに 2 分かかった場合、再開すると、最初の呼び出しにInternetReadFile
約 2 分かかります。舞台裏では、ファイルを最初からダウンロードし、 に与えた時点までのすべてを捨ててInternetSetFilePointer
、「次の」データを返すだけだと結論付けることができます。
質問は次のとおりです。
1) WinInet は「シミュレート」InternetSetFilePointer
しますか、それとも実際にその情報をサーバーに提供しますか?
2) HTTP サーバーがサポートしていると仮定して、WinInet を目的のシーク ポイントまでスキップさせる方法はありますか?
ダウンロード元のサーバーは Amazon S3 サーバーで、99.9% 確実にレジュームをサポートしています。
java - Java再開ダウンロードに時間がかかる
これが私のコードです
この方法は正常に機能していますが、再開に時間がかかります。私の質問は、これを行う効率的な方法はありますか? 私のコードでin.skip();
は、時間がかかっていると思います。
http - サーバーが再開取得要求をサポートしているかどうかを判断する
サーバーがファイル転送または取得要求の再開をサポートしているかどうかを判断するにはどうすればよいですか?
私の考えは、0 ではなくバイト「2」で get リクエストを開始するようにヘッダーを設定し、適切な結果が得られた場合はすぐに http リクエストを閉じることでした。
しかし、この情報を私に明らかにする別の種類のプローブに対するサーバーの応答について何かがあるかどうか疑問に思っていました
java - 再開可能なダウンロードのための GWT の HTTP 範囲
gwt で HTTP_RANGE (ブラウザーまたはダウンロード マネージャーからの HTTP 要求による送信) をフェッチする方法を見つけたいと考えています。php ( _SERVER['HTTP_RANGE']
) で見つけましたが、Java の解決策が見つかりませんでした。
私がやりたい作業は、gwt を使用して再開可能なファイルのダウンロードを行う方法です。
c# - ネットワーク経由でファイルを読み取る際の「指定されたネットワーク名は使用できなくなりました」という例外
ネットワーク経由でファイルをコピーするために、再試行パターンを使用して以下のコードを使用しています。
ネットワークが切断されて例外がスローされた場合、ReadSourceStream
ネットワークが再開されるまで同じパラメータで が呼び出されます。問題は、ネットワークが再開された後でも、次の例外が発生することです
File.Exist
前にチェックを追加_sourceStream.Read
し、ネットワークが再開された後に true を返しますが、ストリームの読み取り中に例外がスローされます。
この点であなたの助けは高く評価されます。