シナリオと問題の説明:
- サーバーへのユーザー要求ファイル
- ファイルが大きいので生成に時間がかかる
- ファイルを作成していることを示すために、クライアント側でスピナーが実行されています。
- 数分後、サーバーがクエリに応答しないため、プロキシがタイムアウトします (理由ファイルが大きすぎて生成できません)。
私の理解 :
この状況を詳しく調べたところ、クライアントのプロキシがタイムアウトしており、それを制御できないことがわかりました。私にできる唯一のことは、クライアントがファイルを要求してダウンロードするロジックを変更することです。
私が考えた解決策:
解決策 1 :
ユーザーリクエストファイル
サーバーはサーバー側で一時ファイルを作成し、次のような http パスを作成します。
http:\www.mydomain.com\temp\download\files\12342323.pdf
リンクはより速くクライアントに配信されますが、一定期間非アクティブのままになります。
リンクがアクティブ化されると、ユーザーはリンクをクリックします。
解決策 2:
私はこれについてあまり読んでいませんが、node.js経由でソケット接続を作成し、ファイルを転送することは可能ですか?
ノート:
解決策 1 では、過去 4 時間からコーヒーをまったく飲まずに頭のてっぺんにいます。私が知識のように立ち往生しているのは唯一のことです。ファイルがサーバー側で作成されたことをどのように検出し、ajax スクリプトでリンクを有効にしたりダウンロードしたりできるようになるのでしょうか。
この状況に対処するための新しいアイデアを投げてください。直接の回答は必要ありません。私はどちらかというと、釣りに使う道具を知ってから、既製品の魚を手に入れます。:) 乾杯。
参考までに: 現在使用するツールとして php と javascript があります。